在python中逐行解析文本

在python中逐行解析文本,python,parsing,text,Python,Parsing,Text,我只希望我的程序读取文件中的一行,对行中的文本执行一些操作,然后移动到下一行,直到文件中的所有行都完成 以下是我目前掌握的情况: with open(str(filepath), r) as fp: for line in fp: rdline = fp.readline() doSomething(rdline) 然而,这不起作用。我应该如何处理这个问题?我不想将所有行转换为字典或列表,因为我将处理包含大量行的文件。我认为代码中出现的错误是 with

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

以下是我目前掌握的情况:

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

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

我认为代码中出现的错误是

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()

正如我在评论中所说,没有必要使用
rdline=fp.readline()
,因为您已经在for循环上迭代了
fp

打开(文件路径)作为f:
对于f中的行:
做点什么(行)
试试这个:

with open('filepath') as infile:
  for row in infile:
    do_somthing(row.strip())

再见

您不需要这个
rdline=fp.readline()
,因为您已经在该for循环上迭代了fp。只要
doSomething(line)
。这能回答你的问题吗?我不知道你可以迭代
f
+这是真的,但仍然不能解决我的问题。谢谢你指出这一点!