Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
使用crontab,但python3运行路径是根目录_Python_Cron - Fatal编程技术网

使用crontab,但python3运行路径是根目录

使用crontab,但python3运行路径是根目录,python,cron,Python,Cron,这是我的python代码:/root/project/test.py file = open('./test.txt', 'a') file.write('Hello World\n') file.close() 当我使用crontab时 * * * * * python3 /root/project/test.py 运行python演示 我希望在/根/project/ 但实际上它是在/root中创建和写入的/ 我很难过。 如何在不更改python代码的情况下执行此操作?当为特定用户运行cr

这是我的python代码:
/root/project/test.py

file = open('./test.txt', 'a')
file.write('Hello World\n')
file.close()
当我使用crontab时

* * * * * python3 /root/project/test.py
运行python演示

我希望在/
根/project/
但实际上它是在/root中创建和写入的/

我很难过。
如何在不更改python代码的情况下执行此操作?

当为特定用户运行cron record时,它将使用此用户的主目录。您可以尝试两种不同的方法:

  • cron
    记录中执行
    cd
    ***cd/root/project;蟒蛇3
    test.py
  • 设置路径(代码中的绝对或相对路径):
    文件=
    打开('project/test.txt','a')
    文件=
    打开('/root/project/test.txt',a')

  • 查看此帮助是否说明执行此cron作业时当前目录必须是/root/。试着找出原因,并解决它。作为替代方案,即使是“***cd/root/project/;python3 test.py”也可以工作谢谢!我很高兴有这么多人帮助我。@lch howger如果你对我的答案感到满意,请随意选择和/或接受答案