这适用于所有平台吗?我知道windows会\r\n,记得听到mac会\r而linux会\n。我在 Windows 上运行了这段代码,所以看起来不错,但你们中有人知道它是否跨平台吗?
while 1:
line = f.readline()
if line == "":
break
line = line[:-1]
print "\"" + line + "\""
首先,有通用的换行支持
第二:只需使用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
试试这个:
line = line.rstrip('\r\n')
线=线[:-1]
如果一行是文件的最后一行,则该行不能有尾随换行符。
如上所述,尝试使用 rstrip() 的通用换行符。