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

时间:2018-06-28 03:49:56

标签: python linux filesystems

我有两个文件

-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中做到这一点?

1 个答案:

答案 0 :(得分:0)

copy_file_range(2)可以胜任。但是我认为yet是要在python中公开的。较旧的sendfile(2)似乎可以通过os.sendfile在python中使用。您必须调用两次,每次使用 in fds表示 file_a 和file_b,而 out fd表示 file_c < / em>。