新手问题。在 Python 2.7.2 中,我在读取文本文件时遇到问题,这些文件似乎意外包含一些控制字符。具体来说,循环
for line in f
一旦遇到包含以下内容的行就会停止,没有任何警告或错误SUB
字符(ascii 十六进制代码 1a)。使用时f.readlines()
结果是一样的。本质上,就 Python 而言,一旦第一个文件完成,文件就完成了。SUB
遇到字符,以及最后分配的值line
是到该字符的队列。
有没有办法读取这样的字符和/或在遇到字符时发出警告?
在 Windows 系统上0x1a
是文件结束符。您需要以二进制模式打开该文件才能通过它:
f = open(filename, 'rb')
缺点是你会失去面向行的性质,必须自己拆分行:
lines = f.read().split('\r\n') # assuming Windows line endings
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)