11

特定のフォルダー内のすべてのファイルを 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))
4

2 に答える 2

11

コマンドライン方式を試すことができます

import subprocess
subprocess.call(['7z', 'a', filename+'.7z', filename])

またはフォルダ内のすべてのファイル

subprocess.call(['7z', 'a', filename+'.7z', "*.*"])
于 2012-07-13T08:37:20.843 に答える