Windows任务计划程序运行含脚本导入的Python程序失败求助
解决Windows任务计划程序无法导入同目录Python模块的问题
核心原因
Windows任务计划程序默认的工作目录不是脚本所在文件夹,Python只会从当前工作目录和系统PATH中查找模块,因此找不到同目录下的get_data.py。
具体解决办法
方法1:修改bat文件,先切换到脚本目录
在你的调度bat文件开头添加目录切换命令,假设脚本存放在D:\scripts\web_scrape目录下:
cd /d D:\scripts\web_scrape python scrape.py
cd /d可以跨盘符切换目录,确保后续Python命令在脚本所在目录执行。
方法2:在scrape.py中手动添加脚本目录到Python路径
在scrape.py的最顶部(导入其他模块之前)添加以下代码:
import os import sys # 获取当前脚本所在目录 script_dir = os.path.dirname(os.path.abspath(__file__)) # 将目录加入Python的模块搜索路径 if script_dir not in sys.path: sys.path.append(script_dir) # 再执行导入操作 import get_data
这样不管任务计划程序的工作目录是什么,Python都能定位到同目录的模块。
方法3:修改任务计划程序的工作目录
- 打开Windows任务计划程序,找到你的任务,右键选择「属性」
- 切换到「操作」选项卡,选中启动操作后点击「编辑」
- 在弹出窗口的「起始于(可选)」栏,填入
scrape.py所在的文件夹路径(比如D:\scripts\web_scrape) - 保存设置后重新运行任务
内容的提问来源于stack exchange,提问作者betd1
相关产品推荐
相关产品推荐

