lod*_*kkx 53 python windows compression
这是我目前用于提取与脚本位于同一当前工作目录中的zip文件的代码.如何指定要提取的其他目录?
我试过的代码并没有在我想要的地方提取它.
import zipfile
fh = open('test.zip', 'rb')
z = zipfile.ZipFile(fh)
for name in z.namelist():
outfile = open(name, 'wb')
outfile.write('C:\\'+z.read(name))
outfile.close()
fh.close()
Run Code Online (Sandbox Code Playgroud)
sec*_*ike 106
我想你刚刚搞砸了.应该是类似以下内容:
import zipfile
fh = open('test.zip', 'rb')
z = zipfile.ZipFile(fh)
for name in z.namelist():
outpath = "C:\\"
z.extract(name, outpath)
fh.close()
Run Code Online (Sandbox Code Playgroud)
如果你只想提取所有文件:
import zipfile
with zipfile.ZipFile('test.zip', "r") as z:
z.extractall("C:\\")
Run Code Online (Sandbox Code Playgroud)
对最新版本的Python使用pip install zipfile36
import zipfile36
Run Code Online (Sandbox Code Playgroud)
fia*_*jaf 12
我在这个帖子中尝试了其他答案,但对我来说最终的解决方案很简单:
zfile = zipfile.ZipFile('filename.zip')
zfile.extractall(optional_target_folder)
Run Code Online (Sandbox Code Playgroud)
查看extractall,但仅将其用于值得信赖的zip文件.
小智 5
添加到上述secretmike的答案中,支持python 2.6提取所有文件。
import zipfile
import contextlib
with contextlib.closing(zipfile.ZipFile('test.zip', "r")) as z:
z.extractall("C:\\")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
94997 次 |
| 最近记录: |