小编典典

遍历python中的文件行

python

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

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”并打印时。它给了我一个空的清单。

[]

所以我有两个问题。

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


阅读 166

收藏
2021-01-20

共1个答案

小编典典

最简单的:

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”

2021-01-20