【发布时间】:2015-05-30 10:19:43
【问题描述】:
我最近开始使用 Python 3,我了解到在这个版本中,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)
【问题讨论】:
-
你能举个例子吗?
-
显示你的代码,通常这意味着它正在解释一个字节流
-
我想我明白发生了什么。当我将 print 与预先编写的字符串一起使用时,它会自动成为 unicode 并且可以。我读了一个程序输出,所以它是 ASCII。处理它的唯一方法是将每个打印的字符串转换为unicode吗?
标签: python python-3.x