Python 如何删除文件中指定范围的内容?

2022-09-15 14:22:20 +08:00
 ztoben

事情是这样的,我这里的需求是多个大小相等的分片小文件合并成一个大文件,然后我不想小文件落地,想直接整一个大文件,然后通过分片的索引直接移动光标把小文件的内容写入大文件,但是考虑到又可能会有小文件写入错误数据的场景,那么我如何在下一次用正确的小文件把这一块错误的文件内容替换掉

1204 次点击
所在节点    Python
8 条回复
xylxAdai
2022-09-15 14:43:55 +08:00
全部取出来放内存里面,处理完了,再一次性重新写入大文件。担心写错的话就写到新文件里面。
ztoben
2022-09-15 14:54:09 +08:00
@xylxAdai 有没有其他办法呢 能不能做到指定位置进行替换
wxf666
2022-09-15 15:07:36 +08:00
啥意思。。

比如 a.part.1 、a.part.2 、a.part.3 ,每个 1MB ,合并成 3MB 的 a.txt ?

但 a.part.3 有可能写入不完整?

下次继续运行时,需要重新在 a.txt 的 2MB 处,写入 a.part.3 ?
ztoben
2022-09-15 15:08:58 +08:00
@wxf666 是滴
ztoben
2022-09-15 15:14:06 +08:00
兄弟们 问了一个很蠢的问题 这个东西已经解决了 感谢各位
wxf666
2022-09-15 15:15:42 +08:00
@ztoben seek 再 write 能满足吗?
ztoben
2022-09-15 15:34:04 +08:00
@wxf666 是的 我就是这么写的 但是我打开文件的格式一直是 ab+ ... 所以一直不对 换了 rb+后就行了 我太蠢了 感谢
xylxAdai
2022-09-15 16:44:37 +08:00
@ztoben 没太懂你意思。指定位置还不是你自己指定,为什么一定要直接在文件上操作,不觉得太危险了吗。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/880255

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX