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

如何就地编辑大文本文件

如何就地编辑大文本文件

Go
四季花海 2021-07-03 16:00:55
我想从一个大的纯文本文件中编辑一行文本,并希望在适当的位置执行此操作,例如 Python 的 fileinput 包:fileinput.input(file, inplace=1)我目前的方法是将整个文件读入 []string 并将它们写回,我认为这是非常低效的。那么在 Go 中这样做的惯用方法是什么?
查看完整描述

1 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

请注意,Python 的就地 Fileinput 的工作方式是将文件复制到备份文件,然后将输出重定向到原始文件。因此,它与您当前的方法并没有什么不同,只是它使用临时文件而不是将其加载到内存中。将它加载到内存中是可以的,除非文件非常大。

如果文件很大,我建议将它复制到一个临时目录,然后使用bufio包中的函数逐行读取它,修改所需的内容并将结果写入一个与原始文件同名的新文件。


查看完整回答
反对 回复 2021-07-05
  • 1 回答
  • 0 关注
  • 184 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信