遍历python中的文件行[重复]

发布于 2021-01-29 14:56:54

这个问题已经在这里有了答案

第二次遍历文件不起作用 (4个答案)

去年关闭。

我有一个文件,其中某些名称逐行列出。

gparasha-macOS:python_scripting gparasha$ cat topology_list.txt 
First-Topology
Third-topology
Second-Topology

现在,我试图遍历这些内容,但是我无法这样做。

file = open('topology_list.txt','r')
print file.readlines()
for i in file.readlines():
    print "Entered For\n"
    print i

topology_list = file.readlines()
print topology_list

file.readlines()将文件的行打印为列表。所以我得到这个:

 ['First-Topology\n', 'Third-topology\n', 'Second-Topology\n']

但是,当我遍历此列表时,我无法这样做。

另外,当我将其分配给倒数第二行中的变量“ topology_list”并打印时。它给了我一个空的清单。

[]

所以我有两个问题。

我的方法有什么问题?如何做到这一点?

关注者
0
被浏览
97
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    最简单的:

    with open('topology_list.txt') as topo_file:
        for line in topo_file:
            print line,  # The comma to suppress the extra new line char
    

    是的,您可以遍历文件句柄,而无需调用readlines()。这样,在大型文件上,您不必一次读取所有行(就是readlines()这样)。

    请注意,该line变量将包含尾随换行符,例如 “这是一行\ n”



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看