【问题标题】:print list line by line in python [duplicate]在python中逐行打印列表[重复]
【发布时间】:2018-11-23 18:06:04
【问题描述】:

我是 python 新手,我正在尝试逐行打印列表。

fp = open(filepath) # Open file on read mode
lines = fp.read().split("\n")   #Create a list with each line

print(lines) #Print the list

for line in lines:
    print(line) #Print each line

fp.close()

但它是在一行中打印的。

文本文件的内容是

peat1,1,11345674565,04-11-2018
peat2,0,11345674565,05-11-2018
peat3,1,11345674565,06-11-2018
peat4,0,11345674565,07-11-2018

它打印为

peat1,1,11345674565,04-11-2018 peat2,0,11345674565,05-11-2018 peat3,1,11345674565,06-11-2018 peat4,0,11345674565,07-11-2018

环境为--Python 3.4,通过cgi-bin在Apache下运行

非常感谢任何帮助。

【问题讨论】:

  • 它应该可以工作。也许您的文件只有 1 行?您的lines 列表包含多少个元素?能否也包含文件的一部分?
  • 使用print(len(lines))查看文件有多少行。
  • @RedCricket 在这里发帖之前,我已经浏览了 3-4 个类似的帖子,但不是你提到的那个。原因是我的 txt 文件只有 4 行,所以它不是一个大文件。
  • @PrithvirajMitra 你的方法应该有效所以有些东西你没有向我们展示。您确实需要提供minimal reproducible example,并且至少需要提供您所看到的输出。
  • @PrithvirajMitra 对我来说工作正常:trinket.io/python/23a9bb3d00

标签: python list


【解决方案1】:

对于大文件,最好逐行读取文件,如下所示:

with open('filename') as file: 
    for line in file:
        print(line)

我建议使用with 这种方法,它会处理关闭文件指针本身。

【讨论】:

  • 有方法应该工作,即使它不太理想。无论如何,如果这是答案,那么这将是一个明显的重复,应该关闭
  • @juanpa.arrivillaga,我添加了使用这种方法而不是 OP 的理由。 :)
  • 但这并不能回答所谓的问题,因为 OP 声称该方法 不起作用 工作,实际上如果它不起作用,那么这种方法就不会工作。 OP 需要添加更多细节和 MCVE
  • @MauroBaraldi 不在 Python 3 中。
猜你喜欢
  • 1970-01-01
  • 2015-08-11
  • 2020-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多