我有一个声明为
的类函数 def catFunc(self,filename):
print "catFunc",filename
process = subprocess.Popen(['cat',/root/scratch.php], stdout=subprocess.PIPE, shell=True)
out, err = process.communicate()
print (out)
print (err)
并像这样调用
fn = '/root/scratch.php'
self.catFunc(fn)
但我看不到输出,也无法弄清楚为什么
任何帮助非常感谢
答案 0 :(得分:2)
阅读文件内容
def catFunc(self,filename):
with open(filename) as f:
s = f.read()
return s
如果您需要使用子进程模块:
import subprocess
def catFunc(filename):
print "catFunc"
task = subprocess.Popen(["cat", filename], stdout=subprocess.PIPE)
print list(task.stdout)
catFunc()
答案 1 :(得分:0)
要检索shell命令的输出,建议您与auto&& vertex
合作使用subprocess.check_output
。
例如:
shlex.split
那就是说,根据当前的问题标题,Rakesh是正确的。