カレントフォルダ内のファイルをzip圧縮して削除、ただし、サブフォルダは無視するコードを作りたい。
下記コードでカレントフォルダ内のファイル圧縮は出来ているのだけれど、カレントフォルダの中のサブフォルダの中にファイルがあるとファイル名がないとエラーで止まります。
サブフォルダの中にカレントフォルダの中のファイルと同じファイル名があると、カレントフォルダのそのファイルが二回入ります。
サブフォルダとかサブフォルダ内のファイルを無視したいです。
Python
1 with zipfile.ZipFile('./archive.zip', 'w') as myZip: 2 des_folder = './' 3 # osモジュールで街頭パスのファイルを取得する。(os.walkはパスの派生フォルダまで取得する。) 4 for folder, subfolders, files in os.walk(des_folder): 5 for file in files: 6 full_name = os.path.join(des_folder, file) 7 # writeは圧縮ファイルでファイルを書き込む。パラメータは対処ファイル、格納するパスで指定する。 8 if full_name != './archive.zip': 9 myZip.write(full_name, os.path.relpath(full_name, des_folder)) 10 os.remove(full_name) 11
どうしたら良いでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/09 05:32
2021/01/09 07:09
2021/01/09 10:59