Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在cron中引用ini文件失败_Python_Database_Python 3.x_Cron_Ini - Fatal编程技术网

Python 在cron中引用ini文件失败

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

我有一个查询数据库的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.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'

请修复格式并解释其修复问题的原因