我目前正在使用subprocess来使用7zip解压缩选择或压缩文件。我必须使用这个解包方法而不是zipfile模块,因为有时zipfile会破坏shapefile。我目前的方法是:
try:
for file in os.listdir(downloads):
print file
expression2 = sevenzip + " e " +downloads + '\\' + file + " -oC:\Users\Oulton"
print expression2
#os.system(r"C:\Users\Oulton\7z e C:\Users\Oulton\install.zip -oC:\Users\Oulton")
subprocess.call(expression2)
except:
time.sleep(3)
traceback.print_exc()
但这不方便,因为:
答案 0 :(得分:1)
7z e C:\Users\Oulton\install.zip -oC:\Users\Oulton" *.shp -r
3
-ao (Overwrite mode) switch
Specifies the overwrite mode during extraction, to overwrite files already present on disk.
-i
和-x
可用于分别包含或排除特定文件以进行提取。
7z e C:\Users\Oulton\install.zip -oC:\Users\Oulton -ir!*.shp -ir!*.mxd -ir!*.shx -ir!*.sbn -ir!*.dbf -ir!*.xml