如何避免python 3x中readline()函数中出现新行?

如何避免python 3x中readline()函数中出现新行?,python,python-2.7,python-3.x,newline,Python,Python 2.7,Python 3.x,Newline,我是python编程新手。我遵循了“艰苦学习python”这本书,但它是基于Python2X的 def print_one_line(line_number,f): print(line_number,f.readline()) 在该功能中,每次打印一行和新行 1 gdfgty 2 yrty 3 l 我读过一部纪录片,如果我在readline()之后加上一个,(逗号) 然后它不会打印新的\n。 以下是纪录片: 为什么文件中的行之间有空行?这个 函数的作用是:返回文件末尾的\n 那

我是python编程新手。我遵循了“艰苦学习python”这本书,但它是基于Python2X的

def print_one_line(line_number,f):
    print(line_number,f.readline())
在该功能中,每次打印一行新行

1 gdfgty

2 yrty

3 l
我读过一部纪录片,如果我在readline()之后加上一个,(逗号) 然后它不会打印新的\n。 以下是纪录片:

为什么文件中的行之间有空行?这个 函数的作用是:返回文件末尾的\n 那条线。这意味着正在将打印\n添加到 readline()函数已返回。要更改此行为,只需添加, (逗号)在打印结束时,这样它就不会打印自己的


当我使用python2x运行文件时,它是正常的,但当我使用python3x运行文件时,则会打印换行符。如何避免python 3x中的换行?

由于您的内容已包含所需的换行符,请使用可选的
end
参数告诉
print()
函数不要添加任何换行符:

def print_one_line(line_number,f):
    print(line_number,f.readline(), end='')

您可以从输入中删除换行符,而不是跳过输出中的换行符:

print(line_number, f.readline().rstrip('\n'))

除其他方式外,您还可以使用:

import sys
sys.stdout.write(f.readline())

适用于迄今为止的所有Python版本。

在调用
print
@xnx yap时,可以使用
end='
。谢谢。@LukasGraf,关于python 2x的许多问题。我认为这适用于Python2X。
readline.rstrip()
将涵盖2和23@PadraicCunningham你能写出我如何使用readline.rstrip()的代码吗?我尝试使用,但它显示AttributeError:“内置函数”或“方法”对象没有属性“rstrip”