这适用于所有平台吗?我知道Windows会做\ r \ n,并且记得听到mac会在\ linux下做\ r。我在Windows上运行这个代码所以看起来很好,但你们中的任何人都知道它的跨平台吗?
while 1:
line = f.readline()
if line == "":
break
line = line[:-1]
print "\"" + line + "\""
答案 0 :(得分:13)
第二:只使用line.strip()
。如果要在行的开头或结尾保留任何空格,请使用line.rstrip('\r\n')
。
哦,
print '"%s"' % line
或至少
print '"' + line + '"'
可能看起来更好。
你可以迭代这样的文件中的行(这不会像文件一样在文件中间的空行上断开):
for line in f:
print '"' + line.strip('\r\n') + '"'
如果您的输入文件足够短,您可以使用str.splitlines
默认丢弃行结尾的事实:
with open('input.txt', 'rU') as f:
for line in f.read().splitlines():
print '"%s"' % line
答案 1 :(得分:4)
请改为尝试:
line = line.rstrip('\r\n')
答案 2 :(得分:0)
line = line [: - 1]
如果一行是文件的最后一行,则该行不能有尾随换行符。
如上所述,使用rstrip()尝试通用换行符。