0
私は個々の.zipファイルに圧縮したい(* .pagesという名前の)一連のフォルダを持っています。 "example1.pages"を "example1.pages.zip"に、 "example2.pages"を "example2.pages.zip"に追加します。また、個々の.pagesフォルダの内容も含めたいと思います。複数のフォルダを個々の.zipファイルとして再帰的に圧縮する方法はありますか?
現在、スクリプトはすべての.pagesファイルを、ネストされたディレクトリを持つ1つのファイルに圧縮します。
私はzipfile機能を実行するときに何かが行方不明になっていると思います。
ご協力いただければ幸いです。
import os
import zipfile
start_path = "MY/DIRECTORY/HERE"
def zipdir(ziph):
dir_count = 0
file_count = 0
for (path,dirs,files) in os.walk(start_path):
print('Directory: {:s}'.format(path))
dir_count += 1
for file in dirs:
if file.endswith(".pages"):
print('\nAttempting to zip: \'{}\''.format(file))
ziph.write(os.path.join(path, file))
print('Done')
file_count += 1
print('\nProcessed {} files in {} directories.'.format(file_count,dir_count))
if __name__ == '__main__':
zipf = zipfile.ZipFile("NAME/OF/INDIVIDUAL/ZIP/FILE.zip", 'w', zipfile.ZIP_DEFLATED)
zipdir(zipf)
zipf.close()
ファイルを操作したい場合、なぜディレクトリを反復処理していますか? – pvg
複数のZIPファイルが必要な場合は...ループ内に作成します。 – tdelaney
@pvg ".pages"という名前のフォルダで操作したい – WhoTheDevil