【发布时间】:2015-10-21 00:43:48
【问题描述】:
我是 python 编程的新手。我遵循了“Learn python the hard way”一书,但它是基于 python 2x 的。
def print_one_line(line_number,f):
print(line_number,f.readline())
在这个函数中每次打印一行和一个新行。
1 gdfgty
2 yrty
3 l
我读过纪录片,如果我在 readline() 之后加上 ,(逗号) 那么它就不会打印一个新的\n。 这是纪录片:
为什么文件中的行之间有空行?这 readline() 函数返回文件末尾的 \n 那条线。这意味着 print 的 \n 被添加到 已由 readline() 函数返回。要更改此行为,只需添加一个 , (逗号)在 print 的末尾,这样它就不会打印自己的 .
当我使用 python 2x 运行该文件时,就可以了,但是当我在 python 3x 中运行该文件时,则会打印换行符。如何避免 python 3x 中的换行符?
【问题讨论】:
-
您可以在调用
print时使用end=''。 -
@xnx 是的,它工作。谢谢。
-
@LukasGraf,python 2x 的许多问题。我认为这适用于 python 2x。
-
readline.rstrip()将涵盖 2 和 3 -
@PadraicCunningham 你能写出我如何使用 readline.rstrip() 的代码吗?我尝试使用,但它说 AttributeError: 'builtin_function_or_method' object has no attribute 'rstrip'
标签: python python-2.7 python-3.x newline