cron作业的python pickle问题

2024-09-30 02:21:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用pythonpickle创建一个对象并存储在配置文件中。没有cron作业,我可以运行脚本并生成配置.pkl. 然而,一旦我把它放到cron作业中,我就无法生成配置.pkl,但会生成日志“calling generateConfig”。该文件具有执行权限。你知道吗

下面是函数和cron作业。你知道吗

def generateConfig():
       print "calling generateConfig"
       configDict = {"test1":"value1","test2":"value2"}
       output = open('config.pkl','wb')
       pickle.dump(configDict, output)
       output.close

crontab:

00 05 * * * /user/bin/python ~/job/process.py

Tags: 文件对象函数脚本权限outputdef配置文件
1条回答
网友
1楼 · 发布于 2024-09-30 02:21:47

由于您没有为config.pkl提供路径,我猜它会将该文件转储到运行该文件的用户的主目录中;如果该文件没有放在那里,请尝试搜索您的系统。如果没有记录错误,那么文件可能在某个地方,而不是您期望的地方。你知道吗

将任何可能生成异常(例如,写入文件)的内容包装在try/catch中,并显式地处理或记录问题,这样至少可以保持对脚本执行的控制;在这种情况下,如果您最终尝试pickle一个资源,如果不关闭文件句柄,脚本可能会死掉。使用with open(...) as output:是一个很好的选择。你知道吗

相关问题 更多 >

    热门问题