我目前正在尝试让一个Python程序在我的Raspberry Pi上自动启动。问题是,程序正在读取一个配置文件,该文件与程序本身位于同一文件夹中。因此,当我从IDE运行程序时,它运行得很好。
如果我尝试从控制台(或rc.local(运行它,它找不到配置文件。如果我cd到文件夹中并尝试运行它,它会再次正常工作。
那么,我如何告诉Python或rc.local从文件夹中运行呢?我曾试图寻找解决方案,但找不到。
我不想用它的完整路径来寻址配置文件,因为我在电脑上编程和调试,但在树莓上使用程序,所以每次在设备之间切换时我都必须更改路径。
希望有人能帮我,提前谢谢。
我在这里看到了几种可能的方法:
- 在树莓pi上,您可以在运行python程序之前将
cd
保存到正确的目录:cd <destination dir> && python your_program.py
,或者为此编写一个两行shell脚本 - 向python传递一个可选的命令行参数,该参数包含配置文件的绝对路径。如果没有给定参数,请使用当前路径
- 尝试自动检测python程序运行的环境(例如,使用
gethostname()
或通过设置环境变量,如图所示(