【问题标题】:python shutil copyfile permission errorpython shutil copyfile权限错误
【发布时间】:2018-02-25 04:55:17
【问题描述】:

我试图在 python 3.6 windows 10 中使用 shutil 将图像从一个文件夹复制到另一个文件夹,但遇到权限错误。

我将源代码保存为一个名为“src”的变量,其中包含

src = "C:/Users/marti/AppData/Roaming/vlc/art/artistalbum/artistname/art.jpg" 

我的目的地名为“src”,其中包含

dst = "C:/Users/marti/Desktop/MRL/cover"

我的文件目前导入了这些东西:

from shutil import copyfile
from sys import exit
import os
import requests

我正在使用以下命令将 src 复制到目标:

copyfile(src, dst)

但是当我运行这个程序时,我得到了一个权限错误:

IOError: [Errno 13] Permission denied: 'C:/Users/marti/Desktop/MRL/cover/'

即使我以管理员身份运行 CMD,有人知道如何为 python 编辑这些权限吗?

如果没有,我愿意使用任何其他方法,这些方法允许我将图像从一个文件夹复制到另一个文件夹,并最终检查 src 字符串是否已更改,在这种情况下,它将删除 dst 文件夹中的图像并替换它

【问题讨论】:

  • 如果是拼写错误,我不会,但您的变量 src 中有空格字符。那么,src 中的文件名在哪里呢? src = r"C:/Users/marti/Desktop/MRL/cover/art.jpg" 可能会更好。
  • 是的,这是一个类型,谢谢,但是当我修复它并让 src 没有空格时,我仍然收到此错误消息: Traceback(最近一次调用最后一次):文件“a.py”,第 39 行,在 getInfo() 文件“a.py”,第 36 行,在 getInfo copyfile(src, dst) 文件“c:\Python27\lib\shutil.py”,第 83 行,在带有 open( dst, 'wb') as fdst: IOError: [Errno 13] Permission denied: 'C:/Users/marti/Desktop/MRL/cover'
  • @MartinBarker 请将信息发布到您的问题中,我们不知道 temp_loc 是什么。你能解释一下吗?
  • @MartinBarker 你试过在现有的 dst 之后添加art.jpg 吗?
  • 是的,就是这样!!重读我以前的cmets。我已经告诉过你三遍了。 (在交换 dstsrc 定义之前)。

标签: python image file permissions shutil


【解决方案1】:

来自shutil doc

将名为 src 的文件的内容(无元数据)复制到名为 dst 的文件中并返回 dst。 src 和 dst 是以字符串形式给出的路径名。 dst 必须是完整的目标文件名;查看 shutil.copy() 以获取接受目标目录路径的副本。如果 src 和 dst 指定相同的文件,则会引发 SameFileError。

你应该关注dst must be the complete target file name

【讨论】:

    【解决方案2】:

    我在将本机文件复制到 NAS 时遇到了类似的问题,但通过将 shutil.copyfile 替换为 shutil.copy 很容易解决。


    我之前的错误信息:

        with open(dst, 'wb') as fdst:
    PermissionError: [Errno 13] Permission denied:
    

    【讨论】:

      猜你喜欢
      • 2015-10-11
      • 1970-01-01
      • 2020-08-18
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 2013-04-10
      • 1970-01-01
      相关资源
      最近更新 更多