【问题标题】:Unexpected newlines being printed in Python [duplicate]Python中打印出意外的换行符[重复]
【发布时间】:2014-10-19 23:42:33
【问题描述】:

试图弄清楚为什么这些意外的换行符会在一个简单的脚本中打印出来。我想要在这个脚本中做的就是读入一个文件,并打印每一行的内容。

代码是这样的:

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

#

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

【问题讨论】:

    标签: python


    【解决方案1】:

    rstrip 和类似的函数(例如,replace、strip 等)返回一个包含已更改字符串的副本,而不是原地更改字符串。你想做line = line.rstrip("\n")

    【讨论】:

      【解决方案2】:

      你需要做的:

      line = line.rstrip('\n')
      

      目前您没有对变量“line”进行更改

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多