[英]Concatenate two files into one without read their content
我有两个档案
-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)
似乎可以通过os.sendfile
在python中使用。 您必须调用它两次,每次分别使用in fds表示file_a和file_b,而out fd表示file_c 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.