使用 python 子进程和 7-zip 提取 .tgz 文件
Using python subprocess and 7-zip to extract .tgz file
我正在尝试使用子进程函数调用 7-zip 来提取 .tgz 文件(有用的堆栈溢出 post here)
我需要调用子进程两次。首先从 .tgz 解压 --> .tar 然后从 .tar 解压 --> .txt
我的代码成功解压了第一步,但在第二步没有任何反应,知道为什么吗?
subprocess.Popen([r'C:\Program Files-Zipz.exe', 'e', '-y', '-r', '-o' + pth, os.path.join(root, 'myZip.tgz')])
subprocess.Popen([r'C:\Program Files-Zipz.exe', 'e', '-y', '-r', '-o' + pth, os.path.join(pth, 'myZip.tar')])
“pth”是输出路径,“root”是原始压缩文件所在的路径。我打开 pth 文件夹,实际上那里有一个 myZip.tar 文件。
Popen() 是一个非阻塞调用,它 tarts 另一个进程但不等待它完成。您需要等待第一次调用完成,然后再进行第二次调用以保证 .tar 文件存在。
我正在尝试使用子进程函数调用 7-zip 来提取 .tgz 文件(有用的堆栈溢出 post here)
我需要调用子进程两次。首先从 .tgz 解压 --> .tar 然后从 .tar 解压 --> .txt
我的代码成功解压了第一步,但在第二步没有任何反应,知道为什么吗?
subprocess.Popen([r'C:\Program Files-Zipz.exe', 'e', '-y', '-r', '-o' + pth, os.path.join(root, 'myZip.tgz')])
subprocess.Popen([r'C:\Program Files-Zipz.exe', 'e', '-y', '-r', '-o' + pth, os.path.join(pth, 'myZip.tar')])
“pth”是输出路径,“root”是原始压缩文件所在的路径。我打开 pth 文件夹,实际上那里有一个 myZip.tar 文件。
Popen() 是一个非阻塞调用,它 tarts 另一个进程但不等待它完成。您需要等待第一次调用完成,然后再进行第二次调用以保证 .tar 文件存在。