Ce morceau de code est ma première tentative de création d'un programme. Je reçois une erreur lors de l'exécution qui lit:Comment puis-je obtenir chaque fichier d'une extension d'un répertoire à un autre? J'ai écrit un code mais je reçois une exception
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\Users\gabri\Desktop\' -> 'C:\Users\gabri\Desktop\Planilhas Excel\'
Qu'est-ce que je fais mal? Le but de ce programme est d'obtenir tous les fichiers excel, puis pdf, puis word et de les mettre dans des dossiers créés par le programme.
import os
from glob import glob
# import cx_Freeze
print("Digite o diretório de origem.")
dirOrigem = input()
os.chdir(dirOrigem)
excel_files = glob('*.xlsx')
excel_files.append(''.join(glob('*.xls')))
dirDestinoXL = dirOrigem + '\\' + 'Planilhas Excel'
if not os.path.exists(dirDestinoXL):
os.makedirs(dirDestinoXL)
for i in excel_files:
os.rename(f'{dirOrigem}\\{"".join(i)}', f'{dirDestinoXL}\\{"".join(i)}')
os.chdir(dirOrigem)
pdf_files = glob('*.pdf')
dirDestinoPDF = dirOrigem + '\\' + 'PDF'
if not os.path.exists(dirDestinoPDF):
os.makedirs(dirDestinoPDF)
for p in pdf_files:
os.rename(f'{dirOrigem}\\{"".join(p)}', f'{dirDestinoPDF}\\{"".join(p)}')
os.chdir(dirOrigem)
word_files = glob('*.doc')
word_files.append(glob('*.docx'))
dirDestinoWord = dirOrigem + '\\' + 'Word'
if not os.path.exists(dirDestinoWord):
os.makedirs(dirDestinoWord)
for d in word_files:
os.rename(f'{dirOrigem}\\{"".join(d)}', f'{dirDestinoWord}\\{"".join(d)}')
si l'un de ces fichiers est ouvert dans un autre processus, fermez-les et réessayez. – Antimony
'excel_files = glob ('* .xlsx') excel_files.append (''. Join (glob ('* .xls'))) ' Les fichiers excel contiennent-ils les fichiers excel corrects comme prévu? Peut-être être une liste vide. – deaspo
Supprimez ceci: excel_files.append (''. Join (glob ('*. Xls'))) et cela fonctionne très bien. Vous ajoutez une section vide pour que votre liste ressemble à [''], alors votre boucle for essaye de modifier '' ce qu'elle ne peut pas faire. –