我正在读取一个名为'greeting.txt'的外部文本文件,其中文本文件的内容很简单:
HELLO
但是,当我尝试打印引号括起来的文本文件的内容时,终端会打印出来:
"HELLO
"
我使用以下代码:
for line in open('greeting.txt', "r"): print ('"%s"' % line)
我希望字符串用引号打印在同一行上。 我之前从未遇到过这个问题,尽管使用Python进行类似的目的,任何帮助将不胜感激。
答案 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())