Python PermissionError:[Errno 13]当我试图将所有pdf文件复制到新文件夹时
我正在尝试将Python PermissionError:[Errno 13]当我试图将所有pdf文件复制到新文件夹时,python,Python,我正在尝试将源文件夹及其子文件夹中的所有pdf文件复制到新文件夹目标文件夹。它在某种程度上起了作用(找到了数百个pdf文件并复制到目标\u文件夹中),但由于出现错误而停止权限错误:[Errno 13]权限被拒绝:“H:\\all\u pdf\u files\\xyz.pdf” 我知道在堆栈溢出上发布了一些类似的问题,我尝试了一些我发现的解决方案。但是他们没有帮助。有人知道如何解决这个问题吗?谢谢 import os, shutil source_folder = r'C:\Users\
源文件夹
及其子文件夹中的所有pdf文件复制到新文件夹目标文件夹
。它在某种程度上起了作用(找到了数百个pdf文件并复制到目标\u文件夹中),但由于出现错误而停止权限错误:[Errno 13]权限被拒绝:“H:\\all\u pdf\u files\\xyz.pdf”
我知道在堆栈溢出上发布了一些类似的问题,我尝试了一些我发现的解决方案。但是他们没有帮助。有人知道如何解决这个问题吗?谢谢
import os, shutil
source_folder = r'C:\Users\ABC\DEF\GHI'
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))
我用包含的try语句更新了脚本。虽然我仍然不知道如何解决错误问题,但运行以下脚本可以绕过错误并打印出未复制的文件名
import os, shutil
source_folder = r'C:\Users\ABC\DEF\GHI'
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)
文件可能被其他应用程序打开。@pavel,谢谢您回答我的问题。我确信那个文件没有打开。我甚至重新启动了笔记本电脑并重新运行脚本:)。