Python+;Cron:没有这样的文件或目录

Python+;Cron:没有这样的文件或目录,python,cron,Python,Cron,我有一个更新.txt文件的python脚本 当我在终端中手动运行该文件时,它也会更新该文件。然而,这似乎只是在使用cron运行时出现的问题 日志文件中的响应为: 没有这样的文件或目录:“uploads/test.txt” 用于此操作的cron命令是: * * * * * /usr/bin/python3 /root/script.py >> /root/log.log 2>&1 我真的被难住了。有解决方案吗?上传/test.txt是一个相对路径。Cron未从上载的父

我有一个更新.txt文件的python脚本

当我在终端中手动运行该文件时,它也会更新该文件。然而,这似乎只是在使用cron运行时出现的问题

日志文件中的响应为:

没有这样的文件或目录:“uploads/test.txt”

用于此操作的cron命令是:

* * * * * /usr/bin/python3 /root/script.py >> /root/log.log  2>&1

我真的被难住了。有解决方案吗?

上传/test.txt是一个相对路径。Cron未从
上载的父目录运行。使用绝对路径上载(例如,
/data/foo/uploads/test.txt
,或
cwd
uploads

的父目录,您是否尝试过使用
script.py
test.txt
文件的绝对路径?我尝试过使用
~/root/uploads.test.txt
是绝对路径吗?看起来不对。请尝试
/root/uploads/test.txt
!没有指向curretn用户主文件夹的路径
~
。@CharlesDuffy显然我的意思是
/
而不是
,uploads/test.txt是运行的脚本中的引用。默认情况下,cron作业在
/
中运行,因此
uploads/test.txt
将查找
/uploads/test.txt
,其中您可能没有。您也可以建议
cd/data/foo&&exec python…
作为替代方案(
exec
只是一种性能优化——这意味着在
python
启动后shell不需要留在内存中——但是
&&
是至关重要的:这意味着如果无法
cd
到脚本预期启动的目录,我们就不会尝试运行python解释器)。