python - Python 中打印意外的换行符

标签 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()

输入文件只有 2 行:

#cat users 
root
dontexist
#

当我使用此输入文件运行脚本时,输出中有额外的换行符:

#./test.py users
Line 1 is: root

Line 1 is: dontexist

#

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

最佳答案

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

关于python - Python 中打印意外的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26456639/

相关文章:

python - 是否有提供有关数据框的实用信息的功能?

python - sha256sum 可执行文件和 PyCrypto 库之间的差异

Python 3.4,无法访问使用 exec() 创建的变量

python - 超 HTTP2 自定义 SSLContext 错误

python - <Key> 事件的关键代码是否与平台无关?

Python:Factory Boy 生成对象创建时指定的长度列表

python - Tkinter:如何使用 OptionMenu 小部件调用函数?

python - Django - 管理表单中的动态文本

python - 如何在声明类之前为类中使用的类型添加别名?

python - 在 asyncio 中测试一个永远运行的任务