Python RPi - 从另一个脚本

时间:2017-09-20 18:26:55

标签: python python-3.x raspberry-pi raspbian

我正在尝试使用Raspbian在Raspberry Pi 3上运行另一个python脚本的python脚本。我一直试图找到这样做几个小时的方法,但没有找到任何有效的方法。我尝试了一些方法,但它要么说没有执行文件的权限,要么找不到它。我不知道我做错了什么。我需要在新的控制台(新进程)中通过主脚本运行另一个脚本的多个实例并让它们继续运行(我不希望它们向主脚本返回任何内容)。谁能帮我?因为使用Windows,因为程序工作正常,直到我尝试在Linux上运行它(使用Windows,我使用的是os.start文件)。

在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()

提前致谢!

1 个答案:

答案 0 :(得分:1)

打印os.getcwd()将帮助您进行调试。

在执行test.py之前,提供完全限定的路径名​​/some/where/test.py或使用os.chdir('/some/where')