我最近开始使用python3,我了解到在这个版本中,print()函数假定字符串是unicode而不是ASCII(8位字符)。在
嗯,我知道我的字符串有时是ASCII码,但我真的不在乎它。为什么我总是在屏幕上打印一个讨厌的b'前缀?在
有没有办法关闭这个“功能”?在
我的代码:
proc = subprocess.Popen(diff_cmd, shell = True, stdout = subprocess.PIPE, stderr = subprocess.STDOUT)
while proc.poll() is None:
output = proc.stdout.readlines()
for line in output:
print(line)
你自己也要说清楚。在
您需要指定编码并将字节解码为Unicode(ASCII编码):
line.decode('ascii')
。若对象有时是字节,有时是Unicode,则需要相应地处理。在之后,您可以将其传递给
print()
。在相关问题 更多 >
编程相关推荐