有没有办法使用语法迭代文本文件,
with open(filename,'r') as f:
for line in f:
print f
Run Code Online (Sandbox Code Playgroud)
如果文件只包含回车符而没有换行符?
到目前为止,我所能做的就是
with open(filename,'r') as f:
for line in f.read().split('\r'):
print f
Run Code Online (Sandbox Code Playgroud)
但文件有时很大.我不想使用dos2unix修改文件,因为另一个软件程序需要原始格式.
Dan*_*olo 16
您可以使用Python的通用换行支持open()
除了标准的fopen()值模式可能是
'U'或'rU'.Python通常使用通用换行支持构建; supply'U'将文件作为文本文件打开,但行可以通过以下任何一种方式终止:Unix行尾约定'\n',Macintosh约定'\r'或Windows约定'\r\n'.所有这些外部表示都被'\n'Python程序看作.如果Python是在没有通用换行符支持的情况下构建的,'U'则模式与普通文本模式相同.需要注意的是文件对象,因此也开有一个属性,叫做换行符具有的价值None(如果没有换行目前尚未看到)'\n','\r','\r\n',或包含所有看到的换行符类型的元组.