Python Decode()、len()、斯堪的纳维亚Iso字符串打印正确,但长度错误
svenskaOrd是一个瑞典单词列表。 我想用字母打印单词的长度,并且只有在长度大于等于4的情况下才打印格式正确的单词。 只有格式是正确的Python Decode()、len()、斯堪的纳维亚Iso字符串打印正确,但长度错误,python,string,decode,encode,string-length,Python,String,Decode,Encode,String Length,svenskaOrd是一个瑞典单词列表。 我想用字母打印单词的长度,并且只有在长度大于等于4的情况下才打印格式正确的单词。 只有格式是正确的 swedishWords = open("svenskaOrd.txt","r") for line in swedishWords: if(len(line.decode("iso8859_10")) >= 4): print(len(line.decode("iso8859_10"))) print(li
swedishWords = open("svenskaOrd.txt","r")
for line in swedishWords:
if(len(line.decode("iso8859_10")) >= 4):
print(len(line.decode("iso8859_10")))
print(line.decode("iso8859_10"))
输出:
十八
öroninflammation
五,
奥尔特
十,
örtagård
默认情况下,
打开
以文本模式打开文件。这会将原始字节解码为文本。您不需要在文本模式下打开文件,然后解码文本增益。这没有道理。Python 3甚至不允许您这样做,并且会报告一个错误(因为str
没有decode
方法)
如果您知道您的文本文件具有给定的编码,则应将其指定给open
swedishWords = open("svenskaOrd.txt", "r", encoding="iso8859_10")
for line in swedishWords:
if(len(line) >= 4):
print(len(line))
print(line)
如果您真的想对原始字节进行操作,那么以原始模式打开文件并解码每一行
swedishBytes = open("svenskaOrd.txt", "rb")
默认情况下,
open
以文本模式打开文件。这会将原始字节解码为文本。您不需要在文本模式下打开文件,然后解码文本增益。这没有道理。Python 3甚至不允许您这样做,并且会报告一个错误(因为str
没有decode
方法)
如果您知道您的文本文件具有给定的编码,则应将其指定给open
swedishWords = open("svenskaOrd.txt", "r", encoding="iso8859_10")
for line in swedishWords:
if(len(line) >= 4):
print(len(line))
print(line)
如果您真的想对原始字节进行操作,那么以原始模式打开文件并解码每一行
swedishBytes = open("svenskaOrd.txt", "rb")
包括换行符和可能的其他空格。包括换行符和可能的其他空格。