繁体   English   中英

copy2 PermissionError: [WinError 32] 该进程无法访问该文件,因为它正被另一个进程使用:

[英]copy2 PermissionError: [WinError 32] The process cannot access the file because it is being used by another process:

我正在将文件复制到临时目录

def uploadAvatar(self, schid, img):
    try:
        img = path.abspath(img)
        filename = self.generateAvatarFileName(schid)
        temp_dir = tempfile.gettempdir()
        self.tmp = path.join(temp_dir, filename)
        copy2(img, self.tmp)
        #imgname = path.basename(self.tmp)
        imgdir = path.dirname(self.tmp)+path.sep
        self.retcode = ts3lib.createReturnCode()
        (error, ftid) = ts3lib.sendFile(schid, 0, "", "/avatar/"+filename, True, False, imgdir, self.retcode);
    except:
        try: from traceback import format_exc;ts3lib.logMessage(format_exc(), ts3defines.LogLevel.LogLevel_ERROR, "PyTSon Script", 0)
        except:
            try: from traceback import format_exc;print(format_exc())
            except: print("Unknown Error")

上传后想删除

def onServerErrorEvent(self, schid, errorMessage, error, returnCode, extraMessage):
    if self.retcode == returnCode: self.setAvatar(schid, self.tmp);remove(self.tmp)

但我总是得到

Error calling method of plugin Dynamic Avatar Changer: Traceback (most recent call last):
  File "C:/Users/blusc/AppData/Roaming/TS3Client/plugins/pyTSon/scripts\ts3plugin.py", line 259, in callMethod
    ret.append(meth(*args))
  File "C:/Users/blusc/AppData/Roaming/TS3Client/plugins/pyTSon/scripts\dynamicAvatar\__init__.py", line 114, in onServerErrorEvent
    if self.retcode == returnCode: self.setAvatar(schid, self.tmp);remove(self.tmp)
PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\Users\\blusc\\AppData\\Local\\Temp\\avatar_ZFV2RGU5MjNmb0NyN3hsN1NnU3BGQzdsTFZZPQ'

怎样才能做到这一点? 请帮忙!

听起来您需要关闭文件或停止该过程,这是一个链接,我发现我能够解决您的问题。 Python 中的文件处理 - PermissionError: [WinError 32] 该进程无法访问该文件,因为它正被另一个进程使用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM