我想从一个大的纯文本文件中编辑一行文本,并希望在适当的位置执行此操作,例如 Python 的 fileinput 包:fileinput.input(file, inplace=1)我目前的方法是将整个文件读入 []string 并将它们写回,我认为这是非常低效的。那么在 Go 中这样做的惯用方法是什么?
1 回答
守着一只汪
TA贡献1872条经验 获得超3个赞
请注意,Python 的就地 Fileinput 的工作方式是将文件复制到备份文件,然后将输出重定向到原始文件。因此,它与您当前的方法并没有什么不同,只是它使用临时文件而不是将其加载到内存中。将它加载到内存中是可以的,除非文件非常大。
如果文件很大,我建议将它复制到一个临时目录,然后使用bufio
包中的函数逐行读取它,修改所需的内容并将结果写入一个与原始文件同名的新文件。
- 1 回答
- 0 关注
- 184 浏览
添加回答
举报
0/150
提交
取消