我安排了一个cron作业,它使用命令行参数调用python脚本。传入程序的参数对应于要读取的配置文件的部分。当我手动运行程序时,程序按预期工作,但通过cron报告了一个键错误。cron的输出是:
foobar = config[section]['key1']
File "/usr/local/lib/python3.9/configparser.py", line 960, in __getitem__
raise KeyError(key)
KeyError: 'section1'
这是一些有趣的事情与引号和方式的命令行参数被解释为一个刺?
cron作业是:25 13 * * * python3 /home/user/script.py section1
下面是python程序的一个例外:
import sys
import configparser
section = sys.argv[1]
config = configparser.ConfigParser()
config.read('config.ini')
foobar = config[section]['key1']
配置文件为:
[section1]
key1 = value1
key2 = value2
[section2]
key1 = value3
key2 = value4
1条答案
按热度按时间wtlkbnrh1#
解决方案是提供配置脚本的完整路径。