Python打印遇到IOError错误:[Errno 0] 错误

3
ll=[]
for ii in range(26):
    ll.append(chr(97+ii))

for ii in range(10000):
    print ll

当我这样打印时,会报告一些错误,为什么?!
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r'Traceback (most recent call last):
  File "e:/czh/python/test.py", line 7, in <module>
    print ll
IOError: [Errno 0] Error

可能是重复问题:Python2.7中在简单的for循环打印中出现errno 0和2 - user202729
这似乎是一个常见的Windows 10错误,我有时在控制台打印时也会遇到。作为一种解决方法,您可以在打印语句周围使用try except,直到它被修复... - Chuk Ultima
谢谢您的回复,也许那就是问题所在,也是唯一的解决方案。 - 陈志翰
2个回答

1

0

另一个答案:

我在Python 2.7.18 (v2.7.18:8d21aa21f2, Apr 20 2020, 13:25:05) [MSC v.1500 64 bit (AMD64)]中也遇到了同样的问题。

当我想处理一些包含中文字符的文本时,我遇到了这个问题。

核心代码如下:

content = fp.read().strip().strip("\n").split("\n")  # fp is an opened file obj
line = "".join([content[x] for x in [1, 4, 7, 10, 13, 16]])
print(line)

正确的方法是:在迭代之前使用Unicode而不是str(utf-8)

content = fp.read().strip().strip("\n").decode("utf-8").split("\n") # fp is an opened file obj
line = "".join([content[x] for x in [1, 4, 7, 10, 13, 16]])
print(line)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接