我有一个简单的脚本,可以在子文件夹中找到一个excel文件,打开它并将其转换为csv。我需要将其自动化,以便每天在某个时间运行。我希望使用任务调度器来完成这项工作。
我在这里找到了这个解决方案:如何进行递归子文件夹搜索并返回列表中的文件?
list_of_files = glob.glob('sheets/**/*.xlsx', recursive=True)
latest_file = max(list_of_files, key=os.path.getctime)
filelocation = pathlib.Path().resolve()
当我以用户身份编译和运行代码时,它工作得很好。当我通过任务调度程序运行它时,它会返回以下错误:
Traceback (most recent call last):
File "\192.168.1.119WorkexporttoactActImport.py", line 26, in <module>
latest_file = max(list_of_files, key=os.path.getctime)
ValueError: max() arg is an empty sequence
[16540] Failed to execute 'ActImport' due to unhandled exception!
我认为这意味着,因为我正在运行任务调度程序,它无法访问或看不到该文件共享,并且将list_of_files返回为空。显然,任务调度器在没有用户环境的情况下,在受保护空间中的tmp文件夹中打开每个正在运行的脚本。
我如何将该文件夹添加到我的路径中,以便无论我的代码运行在哪里都能访问它?我已经尝试过通过NET USE添加,但如果用户已经映射了文件夹(他们已经映射了(,它将不允许第二个映射。
谢谢!
答案其实很简单。
在我正在运行的程序中,在"任务调度器"下->任务->操作我添加了";Start In(可选(";目录它必须位于.exe所在的位置。