【问题标题】:Output using readlines in Python在 Python 中使用 readlines 输出
【发布时间】:2020-09-24 17:07:47
【问题描述】:

我想知道是否有人对此有答案。在图片中,顶壳有代码,

下面两行不同代码的输出:

def stats ():
    inFile = open('textFile.txt', 'r')
    line = inFile.readlines()
    print(line[0])

第二种情况有代码,

def stats ():
    inFile = open('textFile.txt', 'r')
    line = inFile.readlines()
    print(line[0:1])

而不是进入下一个迭代并打印它,它只是吐出迭代,现在填充了所有 \t 和行尾字符 \n。谁能解释为什么会这样?

【问题讨论】:

  • 这是因为您打印的是列表而不是字符串。两个版本都包含 \t,字符串 print 只是将它们解释为制表符。

标签: python readlines


【解决方案1】:

在第一种情况下,您打印的是单行,它是一个字符串。

在第二种情况下,您正在打印列表的一部分,这也是一个列表。列表中包含的字符串在打印时使用repr 而不是str,这会改变表示。您应该遍历列表并分别打印每个字符串以解决此问题。

>>> s='a\tstring\n'
>>> print(str(s))
a   string

>>> print(repr(s))
'a\tstring\n'

>>> print(s)
a   string

>>> print([s])
['a\tstring\n']

【讨论】:

  • 啊,我明白你在说什么。谢谢你。我将代码更改为 def stats(): inFile = open('textFile.txt', 'r') lines = inFile.readlines() for line in lines: print(line) 并且它起作用了。再次感谢
猜你喜欢
  • 1970-01-01
  • 2012-10-11
  • 1970-01-01
  • 2015-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-29
  • 1970-01-01
相关资源
最近更新 更多