繁体   English   中英

在启动(startx)时使用绝对路径启动python脚本,其中存在相对路径

[英]Starting a python script on boot (startx) with an absolute path, in which there are relative paths

我意识到这个问题可能已经存在,但是我找到的答案没有用,并且我的设置略有不同。

我有一个python文件/home/pi/python_games/frontend.py ,我正在尝试通过将@python /home/pi/python_games/frontend.py放在/etc/xdg/lxsession/LXDE/autostart来启动lxde时启动的python文件。

它不会运行,并且没有错误消息。

尝试运行python /home/pi/python_games/frontend.py ,python抱怨无法找到使用相对链接加载的文件,例如: /home/pi/python_games/image.pngimage.png 显然,一种解决方案是为这些资源提供绝对路径,但是python程序还会在其目录中调用其他python程序,这些程序也具有相对路径,因此我不想更改所有路径。

任何人有任何想法吗?

谢谢汤姆

您可以在开始调用相对导入之前在脚本内更改当前工作目录,请使用os.chdir(“脚本所在的绝对路径”)。

您可以在frontend.py脚本中使用预定义的__file__模块属性的值(该脚本文件的绝对路径名)来确定同一目录中其他文件的绝对路径,而不必更改当前的工作目录。

os.path模块中的函数,例如split()join() ,将使此操作相当容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM