RPi - 访问文件夹,然后在启动时运行 python 脚本

问题描述

我希望我的 RPi 打开运行一个 python 网络服务器并打开 Chromium 来访问它。 它应该在启动时自动执行。

但是

当我通过命令运行脚本时 $ sudo python3 /home/sps-training/python/webserver.py 并在 Chromium 上打开 localhost,它说它无法访问另一个文件夹(/deploy)中的 HTML 文件 但是当我先打开字典时 $ cd /home/sps-training/python/ 然后打开脚本 $ python3 webserver.py 它突然起作用了!

所以有两种可能的解决方案 第一个是使用以下方法使其工作: $ sudo python3 /home/sps-training/python/webserver.py

第二种是自动访问目录并启动脚本

现在我正在使用 /etc/profile 在启动时运行它(我只是在最后一行写了 & 在行尾)

非常感谢每一个建议!

顺便说一下语法问题

解决方法

就像巴马尔说的那样。听起来您遇到的问题是工作目录与当前目录问题。当您运行 sudo python3 /home/sps-training/python/webserver.py 时,您将在目录 / 中启动 webserver.py,如果它查找“deploy/index.html”,它将在 /deploy/index.html 中查找。但是,当您 cd 进入 /home/sps-training/python/ 然后运行 ​​python3 webserver.py 时,工作目录现在是 /home/sps-training/python/,它将在 deploy/index.html

中查找 /home/sps-training/python/deploy/index.html

最好的解决方案是编辑python脚本以使用绝对文件路径。

除此之外,您每次都需要 cd 到正确的工作目录。