【发布时间】:2018-03-01 22:36:17
【问题描述】:
我正在尝试使用 Raspbian 在 Raspberry Pi 3 上从另一个 python 脚本运行 python 脚本。几个小时以来,我一直试图找到方法来做到这一点,但没有找到任何有效的方法。我尝试了一些方法,但它要么说没有执行文件的权限,要么找不到它。我不知道我做错了什么。我需要通过新控制台(新进程)中的主脚本运行其他脚本的多个实例并保持它们运行(我不希望它们向主脚本返回任何内容)。谁能帮我?因为在 Windows 上它真的很容易,因为该程序运行良好,直到我尝试在 Linux 上运行它(在 Windows 上,我使用了 os.startfile)。
在 test.py 中:
print("test1")
input()
在 main.py 中:
import os
import subprocess
print("main")
os.system("python test.py")
input()
在控制台中: 主要的 python:无法打开文件'test.py':[Errno 2]没有这样的文件或目录
在 main.py 中:
import os
import subprocess
print("main")
subprocess.Popen("python test.py",shell=True)
input()
在控制台中: 主要的 python:无法打开文件'test.py':[Errno 2]没有这样的文件或目录
在 main.py 中:
import os
import subprocess
print("main")
subprocess.call("python test.py",shell=True)
input()
在控制台中: 主要的 python:无法打开文件'test.py':[Errno 2]没有这样的文件或目录
我尝试了更多方法,但我不记得了。也许我做错了什么?
编辑:我现在可以运行脚本而 os.chdir 没有任何问题(感谢 J H)。我现在的问题是它在与 main.py 相同的控制台窗口中打印测试,我需要它为 test.py 创建另一个进程。有什么解决办法吗?
编辑 2:最后我可以从 main.py 开始一个新的 test.py 进程!我使用 os.system('xdg-open "test.py"') 使用默认应用程序打开 test.py。无论如何感谢J H,否则它会继续说找不到文件。
最终的 main.py:
import os
print("main")
os.chdir('/home/pi/Desktop/')
os.system('xdg-open test.py')
input()
提前致谢!
【问题讨论】:
-
这些文件是否在同一个目录中?你的代码对我有用(在 linux 上)
-
是的,它们在同一个目录中(我认为,据说,我需要 os.chdir(),因为在这种情况下没有网站这么说)。也许它与 Raspbian 有关。
标签: python python-3.x raspberry-pi raspbian