繁体   English   中英

将两个文件合并为一个,但不读取其内容

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM