이 코드는 프로그램을 작성한 첫 시도입니다. 읽는 중에 오류가 발생합니다.디렉토리의 모든 파일을 다른 디렉토리로 가져 오는 방법은 무엇입니까? 코드를 작성했지만 예외가 발생했습니다
무엇이 잘못 되었나요? 이 프로그램의 목표는 모두 Excel, PDF, Word 파일을 가져 와서 프로그램에서 만든 폴더에 넣는 것입니다.
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)}')
다른 프로세스에서 열려있는 파일이 있으면 해당 파일을 닫은 다음 다시 시도하십시오. – Antimony
excel_files = glob ('* .xlsx') excel_files.append (''. join (glob ('*. xls'))) 'excel_files에 올바른 Excel 파일이 예상대로 포함되어 있습니까? 빈 목록 일 수 있습니다. – deaspo
이것을 제거하십시오 : excel_files.append (''. join (glob ('*. xls'))) 잘 작동합니다. 빈 섹션을 추가하면 목록이 [ '']처럼 보이고 for 루프는 수정할 수없는 ''을 수정하려고 시도합니다. –