为了账号安全,请及时绑定邮箱和手机立即绑定

在打印从文件读取的行时如何跳过多余的换行符?

在打印从文件读取的行时如何跳过多余的换行符?

米琪卡哇伊 2021-03-05 09:14:30
我正在从stdin读取我的python程序的输入(我已将文件对象分配给stdin)。输入行数事先未知。有时程序可能会得到1行,100行甚至根本没有行。import syssys.stdin  = open ("Input.txt")sys.stdout = open ("Output.txt", "w")def main():    for line in sys.stdin:        print linemain()这是最接近我的要求的。但这有一个问题。如果输入是37 42 4 68 5 9 3它打印37 42 4 68 5 9 3它在每行之后打印一个额外的换行符。如何修复此程序,或者解决此问题的最佳方法是什么?
查看完整描述

1 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

pythonprint语句添加了换行符,但是原始行上已经有换行符。您可以通过在末尾添加逗号来抑制它:

print line , #<--- trailing comma

对于python3(在其中print变为函数),它看起来像:

print(line,end='') #rather than the default `print(line,end='\n')`.

或者,您可以在打印之前将换行符从行的结尾处去除:

print line.rstrip('\n') # There are other options, e.g. line[:-1], ...

但我认为那不是那么漂亮。


查看完整回答
反对 回复 2021-03-31
  • 1 回答
  • 0 关注
  • 163 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信