python - 包含 Popen 的模块函数被拒绝但在模块函数之外工作
问题描述
敲我的头。有很多关于 popen permission denied 错误的帖子,但似乎没有一个对我有帮助。任何正确方向的提示或指示都会很棒!谢谢你们 : )
这是在树莓派上,python 3.7.3
以下按预期工作:sudo python3 test.py
子进程打开没有问题。
#Filename "test.py"
import subprocess
proc = subprocess.Popen("./my_compiled_c_file")
print(proc.pid)
exit()
如果我改为将修改后的 test.py 作为模块导入,则以下命令会在“./my_compiled_c_file”上获得权限被拒绝错误:sudo python3 main_test.py
#Filename "/subfolder/test.py"
import subprocess
def proc_open():
proc = subprocess.Popen("./my_compiled_c_file")
return proc.pid
#Filename "main_test.py"
import subfolder.test as TEST
if __name__ = '__main__':
pid = TEST.proc_open()
print(pid)
exit()
我确定我是个傻子,我只是不知道有多傻...
解决方案
太傻了,以前的帖子应该有帮助......
proc = subprocess.Popen('sudo /absolute/path/to/file', shell=True)
推荐阅读
- postgresql - Postgresql-11:使用 pg_dump 为选择模式转储对象定义和数据
- authentication - Flutter 中的 Instagram 登录身份验证
- reactjs - React-Final-Form:有没有办法在组件更改后不重新渲染表单?
- python - 计算文本文件中出现的名称,对重复项敏感
- .net - 具有文件内容的 .Net 资源使 docker build 失败
- android - 如何测试事件逻辑?
- javascript - async.queue 排水功能不会触发
- python - 消除文本开始前的白线
- typescript - 告诉方法的参数只接受
作为确切的字符串 - r - 为什么有些栅格函数在指定的临时目录中写入临时文件而有些则没有?