有没有办法使用语法迭代文本文件,
with open(filename,'r') as f:
for line in f:
print f
如果文件仅包含回车符而没有换行符?
到目前为止我能做的就是
with open(filename,'r') as f:
for line in f.read().split('\r'):
print f
但文件有时很大。我不想使用 dos2unix 修改该文件,因为另一个软件程序需要原始格式的文件。
你可以使用Python的通用换行符支持open() http://docs.python.org/library/functions.html#open
除了标准的 fopen() 值模式之外,还可以是'U'
or 'rU'
。 Python 通常是用通用换行符支持构建的;供应'U'
将文件作为文本文件打开,但行可以通过以下任一方式终止: Unix 行尾约定'\n'
, 麦金塔公约'\r'
,或 Windows 约定'\r\n'
。所有这些外部表征都被视为'\n'
通过Python程序。如果 Python 构建时没有通用换行符,则支持以下模式'U'
与普通文本模式相同。请注意,如此打开的文件对象还有一个名为 newlines 的属性,其值为None
(如果还没有看到换行符),'\n'
, '\r'
, '\r\n'
,或包含所有看到的换行符类型的元组。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)