我用Python制作了一个脚本,它没有问题。 由于我添加了一个配置文件(我使用过解析器),它在启动时停止启动(我的rc.local文件中有绝对路径)。
进一步调查我发现我需要在python脚本中指定配置文件的绝对路径,否则它无效。
我喜欢它只是在脚本文件所在的文件夹中进行检查。
我的意思是:
如果我的script.py在home文件夹中我想在同一个文件夹中检查它的配置文件...如果它在/ home / user中我想要检入/ home / user。
我怎样才能实现这一点,请记住rc.local是由root用户运行的,其中一些ENV变量与普通用户不同?
答案 0 :(得分:5)
将路径基于__file__
变量:
import os.path
scriptpath = os.path.abspath(os.path.dirname(__file__))
configfile = os.path.join(scriptpath, configfilename)
答案 1 :(得分:1)
作为Martijn上面回答的替代方法,您可以简单地修改您的rc.local文件,将当前工作目录更改为您脚本的目录,然后在没有其绝对路径的情况下运行它。这不需要您修改Python脚本本身。
换句话说,从:
更改您的rc.localpython /home/user/your_script.py
到
pushd /home/user
python your_script.py
popd