UnicodeDecodeError 与“for line in...”
使用“for line in...”迭代文件中的行时" 语法,如果文件包含非 UTF-8 字符,您可能会遇到 UnicodeDecodeError。出现此错误是因为Python的open()函数使用的默认编码是UTF-8,可能与文件的实际编码不匹配。
解决方案:
要修复此错误,您需要在打开文件时指定正确的文件编码。最简单的方法是使用 open() 函数的编码参数。例如:
<code class="python">for line in open('u.item', encoding='utf-8'): # Read each line</code>
但是,如果文件不是以 UTF-8 编码,则需要指定正确的编码。在您的情况下,文件的正确编码是“ISO-8859-1”。要使用此编码,请将 open() 调用替换为:
<code class="python">for line in open('u.item', encoding='ISO-8859-1'): # Read each line</code>
这应该解决 UnicodeDecodeError 并允许您正确迭代文件中的行。
以上是如何修复Python读取文件时的UnicodeDecodeError?的详细内容。更多信息请关注PHP中文网其他相关文章!