如何在python中逐行读取数据

时间:2018-06-25 16:48:26

标签: python parsing

我有一个文本文件,其中填充了如下数据:

#n
44026533495303941500076737402297403862946691

#e
6969696

#f
37243759787836627691897628674719248256836857

最后,我想知道用变量n,e,f保存的数字

我试图逐行读取它,但是数据流仅逐个字母地给我 我的代码如下:

file = open(sys.argv[2]).read() # for getting file
for line  in file:
    print(line)   # but it gives letter for letter

我的想法是举个例子

n = file[1]
e = file[5]

1 个答案:

答案 0 :(得分:1)

关闭,但没有雪茄。

您应该摆脱.read()it reads the whole file。 这可能就是您的目标...

file = open(sys.argv[2])  # no .read() please
for line in file:
    print(line)   # now it gives the line

file.close() # don't forget to release the resource!

...但这就是您真正想要的

with open(sys.argv[2], 'r') as input_file:
    for line in input_file:
        print(line)

通过使用with关键字,您不必记住关闭资源! (here's a tutorial on it)。

此外,如果您在'r'中指定open,那么您打算对该文件执行的操作就会更加明显。不重要,但建议。