我有一个能够播放wav文件的Python文件,
还有另一个Python文件,该文件使用外部火焰传感器检测火焰,
我想做的是,如果检测到火焰,请播放Play.py
文件
因此,在探索之后,我发现了这一点,
import subprocess
subprocess.call("./play.py", shell=True)
我试图通过将其粘贴到一个空文件中并将其命名为
Test.py
来执行它但是我收到这个错误,
/bin/sh: 1: ./play.py: Permission denied
play.py
和Test.py
都在同一目录中。另一方面,我可以单独播放
play.py
文件python play.py
但是当我使用子进程从其他python文件运行它时出现错误。
有人知道原因吗?
是的,我以root用户身份执行它。
最佳答案
要将文件作为./play.py
运行,您需要首先提供对此文件的执行权限。
chmod +x play.py
并将
#!/usr/bin/python
添加到此文件的顶部。否则,您也可以按以下方式运行它:
import sys
subprocess.call([sys.executable, 'play.py'])
关于python - 使用子进程从其他python文件打开python文件,权限被拒绝错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21165274/