我有一个任务是编写脚本来自动执行一些常规操作-从各种来源收集数据,根据收集的数据准备报告,然后将其发送出去。没什么太复杂的。我的方法是创建一个脚本,将其转换为 .exe ,并安排其每天运行。该脚本使用一些文件来存储前一天的数据,并在准备报告期间进行访问。
这是我要确定文件路径的摘要:
self._p_day_queues = os.path.abspath(os.getcwd() + f_path + " -- "+ dt.now().strftime(self._date_format) + ".csv")
当我将其转换为 .exe 并双击运行时-没问题,按预期运行。当涉及到调度时,会引发错误:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Windows\\' + my_file(s)_name
[13848] Failed to execute script ...
显然,如果此文件是由任务调度程序执行的,则上面的代码段将调度程序的目录视为其 pwd ,并弄乱了文件的 abspath 。>
基于这种假设,我使用from pathlib import Path
来解决此问题:Path.home() / Path("my_path_to_file")
,但现在将其绑定到一个特定的目录C:\\Users\\user_name
。
如何修复它,以便 .exe 变得更灵活,并且不依赖于一个特定位置?