Python打印两行而不是一行的引号

时间:2018-02-12 06:16:19

标签: python

我正在读取一个名为'greeting.txt'的外部文本文件,其中文本文件的内容很简单:

HELLO

但是,当我尝试打印引号括起来的文本文件的内容时,终端会打印出来:

"HELLO
"

我使用以下代码:

for line in open('greeting.txt', "r"): print ('"%s"' % line)

我希望字符串用引号打印在同一行上。 我之前从未遇到过这个问题,尽管使用Python进行类似的目的,任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

问题在于,文件中写入的内容可能是Hello\n,如果您读完整行,则打印"Hello\n",这会导致换行符位于第二个引号前面。使用strip()方法删除任何尾随空格,如下所示:

 for line in open('greeting.txt', "r"): print ('"%s"' % line.strip())

但我建议您将代码更改为:

with open('greeting.txt', "r") as f:
    for line in f: print ('"%s"' % line.strip())

由于我个人不喜欢open而没有确定,因此我在完成后立即关闭该文件。

答案 1 :(得分:1)

Hello之后的文本文件中有行尾字符。该行尾也包含在双引号中,并导致第二行在第二行打印。你应该使用rstrip()

去掉行尾
for line in open('greeting.txt', "r"): print ('"%s"' % line.rstrip())

答案 2 :(得分:1)

您可以使用rstrip()函数去除尾随空格。

for line in open('greeting.txt', "r"): print ('"%s"' % line.rstrip())