使用subprocess时Popen出现python错误
我有一个Python脚本,内容是这样的:
var1 = subprocess.Popen("pwd | grep 'home' ");
print var1
但是它给我报错了。
1 个回答
6
如果你想让系统的命令行正确处理管道,就需要加上 shell=True
。
var1 = subprocess.Popen("pwd | grep 'home' ", shell=True)
(注意,行末不需要加分号。)不过,这样做可能不会得到你想要的结果,因为这会返回一个 Popen 对象,所以你还需要检查 var1.wait()
是否返回 0
。
如果你只是想知道当前目录里是否包含 'home',其实有个更简单的方法:
if 'home' in os.getcwd():
print "'home' is in the current working directory's path"