获取返回和输出: 复制代码 代码如下: import subprocess p = subprocess.Popen("ls", shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) for line in p.stdout.readlines(): print line, retval = p.wait()
注意: 当执行命令的参数或者返回中包含了中文文字,那么建议使用subprocess,如果使用os.popen则会出现下面的错误: 复制代码 代码如下: Traceback (most recent call last): File "./test1.py", line 56, inmain() File "./test1.py", line 45, in main fax.sendFax() File "./mailfax/Fax.py", line 13, in sendFax os.popen(cmd) UnicodeEncodeError: "ascii" codec can"t encode characters in position 46-52: ordinal not inrange(128)