python - 将两个文件合并为一个而不读取其内容
问题描述
我有两个文件
-rw-r--r-- 1 root root 5 Jun 28 11:34 file_a
-rw-r--r-- 1 root root 5 Jun 28 11:34 file_b
我想将这两个文件合并为一个。
cat file_a file_b > file_c
以上方式不是我想要的。因为如果 file_a,b 太大可能会花费太多时间
应该有更有效的方法。Linux 上的文件存储在我的离散物理区域中。应该有一些数据结构(我们这里称之为指针)记录这些物理区域。
通过修改指针,使 file_a 的结束指针变为 file_b 的开始指针,我们应该能够很快地将它们二合一。
所以问题是如何在python中做到这一点?
解决方案
copy_file_range(2)
可以完成这项工作。但我认为它尚未在 python 中公开。较旧的版本sendfile(2)
似乎可以在 python 中通过 os.sendfile
. 您必须调用它两次,每次使用in fds 用于file_a和 file_b ,使用out fd 用于file_c。
推荐阅读
- node.js - 电子双向https自签名证书不起作用
- asp.net-core - Azure API 管理 - 自定义授权处理
- javascript - 像 Twitter 一样,我想在每次点击时更改点赞图标的颜色
- sql - 如果数据丢失,平均每小时添加一条空记录
- docker - Gradle 中的 Kafka 集成测试运行到 GitHub Actions
- sql-server - PowerShell 使用 system.data.SqlDbType varbinary 最大错误
- optimization - 使用 Pytorch 的线性自动编码器
- visual-studio - VS 代码中的 Jupiter 笔记本:为什么不出现下拉菜单?
- android - 如何避免 PagingAdapter 中的重复项?
- python - 如果包含子字符串,则生成一个带有 TRUE 的新列