我目前正在尝试让 Python 程序在我的 Raspberry Pi 上自动启动。问题是,程序正在读取配置文件,该文件与程序本身位于同一文件夹中。因此,当我从 IDE 运行该程序时,它工作正常。
如果我尝试从控制台(或 rc.local)运行它,它找不到配置文件。如果我 cd 进入该文件夹并尝试运行它,它会再次正常工作。
那么我怎样才能告诉Python或rc.local从文件夹内部运行呢?我试图用谷歌搜索解决方案,但找不到。
我不想用它的完整路径来寻址配置文件,因为我在我的PC上编程和调试,但在树莓派上使用程序,所以每次在设备之间切换时我都必须更改路径。
希望有人能帮助我,先谢谢了。
我在这里看到了几种可能的方法:
cd
到正确的目录:cd <destination dir> && python your_program.py
,或者编写两行shell脚本到此。gethostname()
或设置环境变量如此处所示)。config_filename = os.path.join(os.path.dirname(sys.argv[0]), f'{config_filename})
将根据脚本所在位置为您提供配置的 FQN,适用于所有环境