#python
#python
Вопрос:
Я пытаюсь скопировать все файлы PDF в пределах source_folder
и его вложенных папок в новую папку, target_folder
. В некоторой степени это сработало (были найдены и скопированы сотни файлов pdf target_folder
), но остановилось с ошибкой PermissionError: [Errno 13] Permission denied: "H:\all_pdf_files\xyz.pdf"
Я знал, что в Stack overflow были опубликованы некоторые похожие проблемы, я попробовал некоторые найденные решения. Но они не помогли. Кто-нибудь знает, как решить эту проблему? Спасибо!
import os, shutil
source_folder = r'C:UsersABCDEFGHI'
target_folder = r'H:all_pdf_files'
for root, subdirs, files in os.walk(source_folder):
for file in files:
if file.endswith('.pdf'):
shutil.copyfile(os.path.join(root, file), os.path.join(target_folder, file))
Комментарии:
1. Файл может быть открыт другим приложением.
2. @pavel, спасибо, что ответили на мой вопрос. Я уверен, что этот файл не был открыт. Я даже перезапустил свой ноутбук и повторно запустил скрипты :).
Ответ №1:
Я обновил свои скрипты, включив в них инструкцию try. Хотя я до сих пор не знаю, как решить проблему с ошибкой, выполнение следующих сценариев может обойти ошибку и распечатать имена файлов, которые не копируются.
import os, shutil
source_folder = r'C:UsersABCDEFGHI'
target_folder = r'H:all_pdf_files'
for root, subdirs, files in os.walk(source_folder):
for file in files:
if file.endswith('.pdf'):
try:
shutil.copyfile(os.path.join(root, file), os.path.join(target_folder, file))
except:
print(os.path.join(root, file))
print(file)