Flu*_*lux 3 python zip os.walk zipfile
我试图压缩目录的内容,而不压缩目录本身,但是我找不到一种明显的方式来做到这一点,而且我对python非常陌生,因此对我来说基本上是德语。这是我正在使用的代码,它成功地包含了父代及其内容:
#!/usr/bin/env python
import os
import zipfile
def zipdir(path, ziph):
# ziph is zipfile handle
for root, dirs, files in os.walk(path):
for file in files:
ziph.write(os.path.join(root, file))
if __name__ == '__main__':
zipf = zipfile.ZipFile('Testing.zip', 'w', zipfile.ZIP_DEFLATED)
zipdir('android', zipf)
zipf.close()
Run Code Online (Sandbox Code Playgroud)
我曾尝试对其进行修改,但总是会遇到无法理解的错误。任何帮助将不胜感激。
write具有第二个参数-存档中的名称,即。
ziph.write(os.path.join(root, file), file)
Run Code Online (Sandbox Code Playgroud)
编辑:
#!/usr/bin/env python
import os
import zipfile
def zipdir(path, ziph):
length = len(path)
# ziph is zipfile handle
for root, dirs, files in os.walk(path):
folder = root[length:] # path without "parent"
for file in files:
ziph.write(os.path.join(root, file), os.path.join(folder, file))
if __name__ == '__main__':
zipf = zipfile.ZipFile('Testing.zip', 'w', zipfile.ZIP_DEFLATED)
zipdir('android', zipf)
zipf.close()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1834 次 |
| 最近记录: |