如何在python子进程中由其他用户运行文件

时间:2018-12-10 05:31:09

标签: python subprocess

我正在创建一个Python脚本,该脚本调用Shell脚本并使用Subprocess在终端上运行该Shell脚本。我的问题是我想由另一个用户运行该Shell脚本。我的代码如下

代码:

import subprocess
filename = '/mount/test.sh'
p = subprocess.Popen([filename],shell=True,stdout=subprocess.PIPE)
out, err = p.communicate()
print(out)

有人可以告诉我如何由另一个用户运行我的shell脚本吗?

  

注意:

     

只有子进程部分应该由其他用户运行,而不是主python脚本

1 个答案:

答案 0 :(得分:1)

您可以尝试以下解决方案

import re 

s = '-'
regex = re.compile('[!@#$%^&*()+-]')

if regex.search(s) == None:
    print("Not found")
else:
    print("Found")

注意:我使用了check_output而不是Popen。由于无法测试,请输入错别字或错误。另外,请检查p.communicate是否可以使用check_output。