在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
+这是真的,但仍然不能解决我的问题。谢谢你指出这一点!