Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PermissionError:[Errno 13]当我试图将所有pdf文件复制到新文件夹时_Python - Fatal编程技术网

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,谢谢您回答我的问题。我确信那个文件没有打开。我甚至重新启动了笔记本电脑并重新运行脚本:)。