在python中逐行解析文本

我只想让我的程序读取文件中的一行,对行中的文本执行一些操作,然后移至下一行,直到文件中的所有行都完成。

这是我到目前为止所拥有的:

with open(str(filepath), r) as fp:
    for line in fp:
        rdline = fp.readline() 
        doSomething(rdline)

但是,这不起作用。我应该如何处理这个?我不想将所有行都转换为字典或列表,因为我将处理包含大量行的文件。


摇曳的蔷薇
浏览 116回答 3
3回答

白衣非少年

尝试这个:with open('filepath') as infile:  for row in infile:    do_somthing(row.strip())再见

达令说

正如我在评论中所说,这rdline = fp.readline()不是必需的,因为您已经fp在 for 循环上进行迭代。with open(filepath) as f:    for line in f:         do_something(line)

忽然笑

我认为您的代码中出现的错误是with open(str(filepath), 'r') as fp:    lines = fp.readlines()     for line in lines:        do_something(line)将 open 函数的第二个参数作为字符串给出。(或者)如果文件很大,你可以通过这种方法with open(str(filepath), 'r') as fp:    line = fp.readline()     while line:        do_something(line)        line = fp.readline()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python