为了账号安全,请及时绑定邮箱和手机立即绑定

在python中逐行解析文本

在python中逐行解析文本

摇曳的蔷薇 2022-07-26 20:54:07
我只想让我的程序读取文件中的一行,对行中的文本执行一些操作,然后移至下一行,直到文件中的所有行都完成。这是我到目前为止所拥有的: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())

再见


查看完整回答
反对 回复 2022-07-26
?
达令说

TA贡献1821条经验 获得超6个赞

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


with open(filepath) as f:

    for line in f: 

        do_something(line)


查看完整回答
反对 回复 2022-07-26
?
忽然笑

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


查看完整回答
反对 回复 2022-07-26
  • 3 回答
  • 0 关注
  • 115 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号