这是我的第一篇文章,所以在此先感谢您提供的毫无疑问的帮助。
我正在运行需要.tif文件作为输入的python脚本。这些文件当前存储为.7z。我的硬盘驱动器上没有足够的空间来一次解压缩所有文件。因此,我想从.7z内部打开一个文件,运行python脚本,删除.tif,然后循环循环。但是,我似乎无法使解压缩仅适用于单个文件。要么根本不起作用,要么提取整个存档。
###Get a list of all the files in the archive
archive7z = path+file1
p = Popen(['7z', 'l', archive7z, '>> list.txt'], stdin=PIPE, stdout=PIPE, stderr=PIPE)
output, err = p.communicate(b"input data that is passed to subprocess' stdin")
rc = p.returncode
data = pd.read_fwf('/home/user/list.txt', skiprows= 18, sep='\s+')
my_list = data["Name"].values
ml= my_list.tolist()
#loop through list of files de-compressing one at a time
for item in ml:
if item.endswith('.tif'):
unzipper = item
os.system('/home/ecf31/p7zip/7z e' + ' ' + '-i@'+unzipper + '_' archive7z)
rest of script doing stuff with the tiff
os.remove(.tif)
#on to the next file