我有一个能够播放wav文件的Python文件,还有另一个Python文件,它使用外部火焰传感器检测火焰,
我想做的是,如果探测到火焰,播放Play.py文件
所以在探索之后我发现了这个,
import subprocess
subprocess.call("./play.py", shell=True)我试图通过将它粘贴到一个空文件中并命名为Test.py来执行它。
但我得到了这个错误,
/bin/sh: 1: ./play.py: Permission deniedplay.py和Test.py都位于同一个目录中。
另一方面,我可以单独播放play.py文件
python play.py但是,当我使用子进程从其他python文件运行它时,我会得到错误。有人知道原因吗?
是的,我把它作为根来执行。
发布于 2014-01-16 15:09:53
要以./play.py的形式运行该文件,首先需要为该文件提供执行权限。
chmod +x play.py并将#!/usr/bin/python添加到该文件的顶部。
否则,您也可以将其运行为:
import sys
subprocess.call([sys.executable, 'play.py'])发布于 2014-01-16 15:09:56
为什么你不直接导入play.py文件对我来说还不清楚。如果都是蟒蛇的话,难道不是让你很容易吗?然而:你给自己的答案是:
subprocess.call("python play.py", shell=True)https://stackoverflow.com/questions/21165274
复制相似问题