Python 如何读取包含1Ah字符的文本文件?
我有一个文件,它是带有注释的程序集源。这些注释包含1Ah字符。它是一个控制字符,“替换”,但它也在DOS中打印一个漂亮的右箭头,所以很久以前有人认为不使用它会很遗憾 不知何故,它的工作原理类似于Python的文件结束字符。我所做的就是:Python 如何读取包含1Ah字符的文本文件?,python,text,ascii,Python,Text,Ascii,我有一个文件,它是带有注释的程序集源。这些注释包含1Ah字符。它是一个控制字符,“替换”,但它也在DOS中打印一个漂亮的右箭头,所以很久以前有人认为不使用它会很遗憾 不知何故,它的工作原理类似于Python的文件结束字符。我所做的就是: f = open('file.asm') for line in f: print line f.close() 直到凌晨1点的第一个入口,一切都很顺利 问题是,如何阅读这个符号和其他文本 使用通用行尾支持打开文件: f = open('file.as
f = open('file.asm')
for line in f:
print line
f.close()
直到凌晨1点的第一个入口,一切都很顺利
问题是,如何阅读这个符号和其他文本 使用通用行尾支持打开文件:
f = open('file.asm', 'rU')
这样可以避免以本机平台文本模式(在C调用中)打开文件,并防止Windows将\x1a
代码点解释为换行符。尝试:
f = open('file.asm', 'rb')
它应该以二进制模式打开文件。为什么说在第一次进入之前一切都正常?接下来会发生什么?在不应该的地方换行?@PauloBu,1Ah是一个很好的
EOF
字符-这就是问题的原因。它的工作原理与正确的EOF完全相同。文件仅“结束”。此问题仅适用于Windows。用户“rb”文件模式以避免它。