python阅读线w/o \n?

3 python newline file

这适用于所有平台吗?我知道Windows会做\ r \n,并且记得听到mac会在\ linux下做\ r.我在Windows上运行这个代码,所以看起来很好,但你们中的任何人都知道它的跨平台吗?

while 1:
    line = f.readline()
    if line == "":
        break
    line = line[:-1]
    print "\"" + line + "\""
Run Code Online (Sandbox Code Playgroud)

小智 13

首先,有普遍的换行支持

第二:只是使用line.strip().line.rstrip('\r\n')如果要在行的开头或结尾保留任何空格,请使用.

哦,还有

print '"%s"' % line
Run Code Online (Sandbox Code Playgroud)

或至少

print '"' + line + '"'
Run Code Online (Sandbox Code Playgroud)

可能看起来更好一些.

你可以迭代这样的文件中的行(这不会像文件一样在文件中间的空行上破坏):

for line in f:
    print '"' + line.strip('\r\n') + '"'
Run Code Online (Sandbox Code Playgroud)

如果输入文件足够短,则可以使用str.splitlines默认情况下丢弃行结尾的事实:

with open('input.txt', 'rU') as f:
    for line in f.read().splitlines():
        print '"%s"' % line
Run Code Online (Sandbox Code Playgroud)