我有两个格式为 XXXX.csv.gz_1_2.tar 和 XXXX.csv.gz_2_2.tar
的文件,我的目标是合并这些文件以便能够按顺序解压缩完整文件获取 csv 文件。
你能帮帮我吗?
我尝试使用 linux cmd 中的 tar
或 cat
函数和 import os,例如:
import os
cat="cat C:/Users/AAAA/XXXX.csv.gz_1_2.tar C:/Users/AAAA/XXXX.csv.gz_2_2.tar > C:/Users/AAAA/XXXX.csv.gz.tar "
os.system(cat)
谢谢!
下面的代码(几乎)完全是从 Add files from one tar into another tar in python 偷来的,明显适应使用两个(或任意数量)原始 tar 文件。
import tarfile
old_tars = ("….tar", "….tar.gz", "….tar.xz", …)
with tarfile.open("new.tar", "w") as new_tar:
for old_tar in (tarfile.open(tar_name, "r") for tar_name in old_tars):
for member in old_tar.getmembers():
new_tar.addfile(member, old_tar.extractfile(member.name))
old_tar.close()
(当然,在真实世界的程序中,tar 文件的名称不会被硬编码到源代码中)。
我是一名优秀的程序员,十分优秀!