PermissionError:[Errno 13]权限被拒绝:尝试使用python复制文件时出现“系统卷信息”

2024-04-25 11:52:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个程序,将插入计算机的U盘中的文件复制到硬盘驱动器中的文件夹中。我不断地发现这个错误: PermissionError: [Errno 13] Permission denied: 'System Volume Information' 代码是

import os
import shutil
from shutil import copyfile
drives = [ chr(x) + ":" for x in range(65,90) if os.path.exists(chr(x) + ":") ]
print(drives)


if "E:" in drives:
    with open('backupNumbers.txt', 'r') as f:
        f_contents =f.readlines()
        numberofFolders = int(f_contents[0])
        numberofFolders += 1
    with open('backupNumbers.txt', 'w') as wf:
        wf.write(str(numberofFolders))

    def createFolder(directory):
        try:
            if not os.path.exists(directory):
                os.makedirs(directory)
        except OSError:
            print ('Error: Creating directory. ' +  directory)
    folderNumber = str(numberofFolders)    
    createFolder('./' + "Backup " + folderNumber + '/')
    src = "E:\\"
    dest1 = "Y:\\Documents\\USB Copies\\"
    dest = str(dest1 + "Backup" + folderNumber)
    files = os.listdir(src)
    os.chdir(src)
    for file in files:
        with open(file) as f:
            print(file, f.read())
    for file in files:
        shutil.copy(file, dest)

完整的回溯是

File "<ipython-input-4-fb59bc7c32b6>", line 1, in <module>
    runfile('E:/USB Backups/Automation.py', wdir='E:/USB Backups')

  File "C:\Users\Garret Langlois\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 827, in runfile
    execfile(filename, namespace)

  File "C:\Users\Garret Langlois\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "E:/USB Backups/Automation.py", line 30, in <module>
    with open(file) as f:

PermissionError: [Errno 13] Permission denied: 'System Volume Information'

Tags: inpyimportosaswithlineopen