我只想让我的程序读取文件中的一行,对行中的文本执行一些操作,然后移至下一行,直到文件中的所有行都完成。这是我到目前为止所拥有的:with open(str(filepath), r) as fp:
for line in fp:
rdline = fp.readline()
doSomething(rdline)但是,这不起作用。我应该如何处理这个?我不想将所有行都转换为字典或列表,因为我将处理包含大量行的文件。
3 回答

白衣非少年
TA贡献1155条经验 获得超0个赞
尝试这个:
with open('filepath') as infile:
for row in infile:
do_somthing(row.strip())
再见

达令说
TA贡献1821条经验 获得超6个赞
正如我在评论中所说,这rdline = fp.readline()不是必需的,因为您已经fp在 for 循环上进行迭代。
with open(filepath) as f:
for line in f:
do_something(line)

忽然笑
TA贡献1806条经验 获得超5个赞
我认为您的代码中出现的错误是
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()
添加回答
举报
0/150
提交
取消