ディレクトリ内のすべての圧縮フォルダーを検索し、1 つの圧縮ファイルをターゲットにし、圧縮ファイル内にある Excel ファイルを取得して別の場所に移動する単純なプログラムがあります (圧縮されたファイルの数に対して、すべての Excel ファイルに対してこれを行います)。フォルダー):
path = 'C:\Users\me\Documents\Extract'
new_path = 'C:\Users\me\Documents\Test'
i = 0
for folder in os.listdir(path):
path_to_folder = os.path.join(path, folder)
zfile = zipfile.ZipFile(os.path.join(path, folder))
for name in zfile.namelist():
if name.endswith('.xls'):
new_name = str(i)+'_'+name
new_path = os.path.join(new_path, new_name)
zfile.close()
#os.rename(path_to_folde, new_path) -- ERROR HERE
shutil.move(path_to_folde, new_path) -- AND ERROR HERE
i += 1
Excelファイルos.rename
とshutil.move
. エラーが発生し続けます:
WindowsError: [エラー 32] 別のプロセスによって使用されているため、プロセスはファイルにアクセスできません。
すべてのフォルダーを閉じたので、このエラーが続く理由がわかりません。