【问题标题】:RPi - accessing a folder and then running a python script on startupRPi - 访问文件夹,然后在启动时运行 python 脚本
【发布时间】:2021-06-02 17:23:06
【问题描述】:

我希望我的 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 在启动时运行它(我刚刚在最后一行写了 & 在行尾)

非常感谢您的每一个建议!

顺便说一句对不起语法

【问题讨论】:

  • webserver.py 在当前目录中查找文件,而不是在包含脚本的目录中。将其更改为使用包含文件的目录的绝对路径。

标签: python linux raspberry-pi raspbian


【解决方案1】:

就像巴尔玛所说。听起来您遇到的问题是工作目录与当前目录问题。当您运行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/,它将在 /home/sps-training/python/deploy/index.html 中查找 deploy/index.html

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 2019-07-17
    • 2018-08-29
    • 2013-02-16
    • 1970-01-01
    • 2022-07-31
    相关资源
    最近更新 更多