首页 > 解决方案 > Python Crontab 用户参数抛出错误 FileNotFoundError: [WinError 2] 系统找不到指定的文件

问题描述

(如果我的术语不正确,请原谅我。我对很多这些东西都比较陌生。)我正在 Multitech 网关上开发一个系统(我不知道这是否相关),我需要签入每 30 分钟一个服务器。我开始研究任务调度程序,而 Crontab 似乎很合适。我的目标是让 Crontab 以所需的时间间隔执行签入脚本。但是当我将PC的用户名放在用户字段中时,它会抛出错误“FileNotFoundError:[WinError 2]系统找不到指定的文件”。此错误发生在 PyCharm 和网关中。为了确保我给它提供了正确的用户名,我在命令行中使用了命令“whoami”。

此外,为了避免进入我设置的每个网关的命令行,我使用 subprocess 模块安装了 crontab。这是最好的方法吗?由于有很多网关我必须将它加载到,我想让这个过程像上传压缩文件和启动网关一样简单。

这是代码:

import subprocess
try:
    subprocess.check_call([sys.executable, '-m', 'pip', 'install',
    'python-crontab'])
except:
    print("Could not install python-crontab")
from crontab import CronTab

cron = CronTab(user = 'username')
job = cron.new(command='python check-in.py', comment='comment')
job.minute.every(30)
cron.write()

非常感谢建设性的批评,因为我对在这个领域工作感到非常兴奋,并且很想掌握每一个细节。

标签: pythoncronembeddedscheduled-tasksiot

解决方案


推荐阅读