我有一个代码用zip压缩特定文件夹中的每个文件但是我想用7zip压缩它,那该怎么办?
这是我到目前为止所做的:
for date in dict_date:#zipping folders and get same name like the folder
with ZipFile(os.path.join(src, '{0}.7z'.format(date)), 'w') as myzip:
for subFolder in dict_date[date]:
for fil in os.listdir(os.path.join(src, date, subFolder)):
if not fil.endswith('.7z'):
myzip.write(os.path.join(src, date, subFolder, fil))
答案 0 :(得分:7)
您可以尝试命令行方法
import subprocess
subprocess.call(['7z', 'a', filename+'.7z', filename])
或文件夹
中的所有文件subprocess.call(['7z', 'a', filename+'.7z', "*.*"])
答案 1 :(得分:0)
似乎没有一个好的Python模块可用于创建7z存档(尽管文档中说过,py7zlib只能读取它们)。
解决方法是下载7z SDK(http://www.7-zip.org/sdk.html)并通过子进程模块使用随附的7zr可执行文件。 7z属于公共领域,因此您可以无限制地携带此独立程序。