为什么解码仅在python解释器中有效?

时间:2019-07-02 17:45:48

标签: python-3.x stdout decode

我的代码:

import fcntl, os
import subprocess
p = subprocess.Popen(['bash'], bufsize=0, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
fcntl.fcntl(p.stdout.fileno(), fcntl.F_SETFL, os.O_NONBLOCK)
p.stdin.write( b'ls -l' + b'\n')
a=str(p.stdout.read().decode('utf-8'))
print(a)

在解释器中完美工作,但是如果我使用:python3 myscript,我会遇到此错误:

a=str(p.stdout.read().decode('utf-8'))
AttributeError: 'NoneType' object has no attribute 'decode'

为什么? 非常感谢

0 个答案:

没有答案