使用python子进程和7-zip解压.tgz文件



我试图通过使用子进程函数调用7-zip来提取。tgz文件(这里有用的堆栈溢出后)

我需要调用subprocess两次。首先从.tgz解压——>.tar和第二步从。tar解压——>. txt

我的代码成功解压缩了第一步,但是在第二步什么也没发生,知道为什么吗?

subprocess.Popen([r'C:Program Files7-Zip7z.exe', 'e', '-y', '-r', '-o' + pth, os.path.join(root, 'myZip.tgz')])
subprocess.Popen([r'C:Program Files7-Zip7z.exe', 'e', '-y', '-r', '-o' + pth, os.path.join(pth, 'myZip.tar')])

"pth"是输出路径和"root"原始压缩文件所在的路径。我打开第p个文件夹,里面有一个myZip.tar文件。

Popen()是一个非阻塞调用,它启动另一个进程,但不等待它完成。在进行第二次调用之前,需要等待第一次调用完成,以确保.tar文件存在。

最新更新