以下是片段:
for eachLine in content.splitlines(True):
entity = str(eachLine.encode("utf-8"))[1:]
splitResa = entity.split('\t')
print(entity)
print(splitResa)
基本上我得到的结果是:
^{pr2}$但是在空闲状态下,一切正常:
>>> '<!ENTITY DOCUMENT_STATUS\t\t\t\t\t"draft">\n'.split('\t')
['<!ENTITY DOCUMENT_STATUS', '', '', '', '', '"draft">\n']
不知道为什么。我也尝试过答案: splitting a string based on tab in the file 但它仍然有同样的行为。问题是什么?在
您产生了一个}:
bytes
表示;您在这里损坏了repr()
调试输出。任何不可打印的字符或特殊字符都将被它们的转义序列替换。您生成的输出在字符串中没有制表符,它包含两个字符的序列\
和{我不清楚为什么首先要将文本编码成字节,然后再转换回字符串。一般来说,你不想那样做。在
在IDLE中,您并没有生成这样混乱的输出;您只是有一个带有实际制表符的常规字符串,因此对这些制表符进行拆分就可以了。我唯一的建议是不要在这里编码到字节。在
看起来
eachLine
是一个原始字符串。在所以,您应该使用一个原始的
^{pr2}$\t
(r'\t'
)来分割它,如下所示或者使用正确转义的
\t
('\\t'
),如下所示相关问题 更多 >
编程相关推荐