我用python和selenium编写了一个脚本,试图注册一个名为puppy play的类。Crontab每小时运行一次脚本,并将任何输出发送到名为cronpup.log日志". 这段代码在我的python脚本中,它只是检查注册是否成功,然后将结果附加到文件中”小狗日志". 在
# Pup Logger
f = open("pup.log", "a+")
f.write(time.strftime("%Y-%m-%d %H:%M:%S "))
if pups == 1:
f.write("Pups!\n")
elif pups == 0:
f.write("No Pups\n")
else:
f.write("Ruh Roh, Something is wrong\n")
f.close()
这就产生了“小狗日志“包含以下条目的文件
^{pr2}$我可以很好地从终端运行python脚本,但crontab执行脚本时,不会在小狗日志". 我检查了crontab的输出,但什么也没找到。这是crontab的输出
$ cronpup.log
.
----------------------------------------------------------------------
Ran 1 test in 81.314s
OK
看起来crontab只是忽略了代码的这一部分,但这看起来相当愚蠢。有什么办法让它工作吗?在
线
是你的问题。Open正在当前工作目录中查找小狗日志,如有必要,创建并附加到它。如果您在与python脚本相同的目录中从终端运行,那么小狗日志将会出现。当从cron运行时,cwd是运行作业的用户的主目录,因此当从cron运行时,它将删除一个小狗日志在你的系统上的其他地方归档。在
您可以硬编码完整路径,也可以使用
^{pr2}$将当前工作目录设置为python文件所在的目录,或修改上面的小狗日志你喜欢什么都行。在
相关问题 更多 >
编程相关推荐