在Python中打印出意外的换行符

时间:2014-10-19 23:42:33

标签: python

试图弄清楚为什么这些意外的换行符会以简单的脚本打印出来。我想在此脚本中执行的操作都在文件中读取,并打印每行的内容。

代码是这样的:

#!/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

#

我错过了什么?谢谢大家。

2 个答案:

答案 0 :(得分:2)

rstrip和类似函数(例如replace,strip等)返回带有更改字符串的副本,而不是更改字符串。你想做line = line.rstrip("\n")

答案 1 :(得分:1)

你需要这样做:

line = line.rstrip('\n')

目前您不会对变量“line”进行更改