def readlines(f):
line = []
while True:
s = f.read(1)
if len(s) == 0:
if len(line) > 0:
yield line
return
if s in ('\r','\n'):
if len(line) > 0:
yield line
line = []
else:
line.append(s)
for line in readlines(yourfile):
# ...
In addition to the standard fopen()
values mode may be 'U' or 'rU'. Python
is usually built with universal
newline support; supplying 'U' opens
the file as a text file, but lines may
be terminated by any of the following:
the Unix end-of-line convention '\n',
the Macintosh convention '\r', or the
Windows convention '\r\n'. All of
these external representations are
seen as '\n' by the Python program. If
Python is built without universal
newline support a mode with 'U' is the
same as normal text mode. Note that
file objects so opened also have an
attribute called newlines which has a
value of None (if no newlines have yet
been seen), '\n', '\r', '\r\n', or a
tuple containing all the newline types
seen.
您可以尝试使用生成器方法自行读取行并忽略任何EOL字符:
使用通用换行符支持--请参见http://docs.python.org/library/functions.html#open
相关问题 更多 >
编程相关推荐