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