Python 在cron中引用ini文件失败
我有一个查询数据库的python脚本。我使用Python 在cron中引用ini文件失败,python,database,python-3.x,cron,ini,Python,Database,Python 3.x,Cron,Ini,我有一个查询数据库的python脚本。我使用python3myscript.py 我在crontab文件中为它添加了一个cron任务 */30 9-17**1-5 python3/path/to/my/python/script\directory\space/myscript.py 该脚本在同一目录中导入一个函数,该函数解析位于同一目录中database.ini中的数据库的登录信息。database.ini是: [postgresql] host=my-db-host-1-link.11.th
python3myscript.py
我在crontab文件中为它添加了一个cron任务
*/30 9-17**1-5 python3/path/to/my/python/script\directory\space/myscript.py
该脚本在同一目录中导入一个函数,该函数解析位于同一目录中database.ini中的数据库的登录信息。database.ini是:
[postgresql]
host=my-db-host-1-link.11.thedatabase.com
database=dbname
user=username
password=password
port=10898
但当前cron输出到my mail文件夹中的文件:
Section postgresql not found in the database.ini file
该节显然存在于database.ini文件中,那么我在这里缺少什么呢?与其在该节所在的目录中运行“python3 myscript.py”,不如尝试从其他目录(如home directory)运行它。你很可能会看到同样的问题
注意,cron的当前工作目录在不同的系统上是不同的。因此,最安全的方法是显式切换到脚本所在的目录并在那里运行命令:
cd /path/to/my/python/script\ directory\ space/ && python3 myscript.py
试试这个:
导入操作系统
更改-->文件名=database.ini
对于------->filename=os.path.dirname(_file__)+'/database.ini'请修复格式并解释其修复问题的原因