我在Linux上使用Python,但是我被迫在Windows上安排任务。我在这里自动化脚本很困难。我找到的cron的最佳替代方法是这个命令
schtasks /Create /SC MINUTE /TN TestTask_Python /TR "C:\Program Files (x86)\Python36-32\python.exe C:\Users\user_name\Desktop\test.py"
它每分钟运行一次脚本,它有点有效。 Documentation.
案例1.从IDE运行。 (PyCharm / Idle)脚本有效
案例2.从cmd运行。 > python test.py
脚本有效。
案例3.运行计划任务。该脚本部分工作。
Case3打印not added
并完成,而Case1和Case2打印not added
,将datetime
添加到test_time.txt
并打印added
。
import time
import datetime
import json
from datetime import date
if __name__ == "__main__":
now = datetime.datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S')
print('not added')
time.sleep(2)
with open('test_time.txt', 'a+') as pf:
pf.write('{0} \n'.format(now))
print('added')
time.sleep(1)
time.sleep(1)
我仔细检查了我的enviro变量,python PATH匹配了我在schtasks cmd中放置的路径。
我错过了什么吗?为什么with open...
在这种情况下不起作用?
答案 0 :(得分:3)
当作为Windows任务运行时,该进程具有不同的工作目录。
在对open()
的调用中使用绝对路径。