试图弄清楚为什么这些意外的换行符会以简单的脚本打印出来。我想在此脚本中执行的操作都在文件中读取,并打印每行的内容。
代码是这样的:
#!/usr/bin/python
import sys
# This script should just iterate over a file and echo the contents of each line
f=open(sys.argv[1],'r')
for line in f:
line.rstrip('\n')
print "Line 1 is: " + line
f.close()
输入文件只有两行:
#cat users
root
dontexist
#
当我使用此输入文件运行脚本时,输出中还有其他换行符:
#./test.py users
Line 1 is: root
Line 1 is: dontexist
#
我错过了什么?谢谢大家。
答案 0 :(得分:2)
rstrip和类似函数(例如replace,strip等)返回带有更改字符串的副本,而不是更改字符串。你想做line = line.rstrip("\n")
答案 1 :(得分:1)
你需要这样做:
line = line.rstrip('\n')
目前您不会对变量“line”进行更改