我使用python shuitl.copy2方法从共享文件夹复制一些文件,复制成功后会启动一个需要访问这些复制文件的进程。 问题有时会出现文件无法被新进程访问,错误32被报告。我的脚本循环运行,但问题不会每次都发生。有人知道问题是什么吗?由python复制的文件不能被其他进程访问
更新一些简单的代码。具体请求触发MyThread运行,复制结束后,另一个可执行程序将使用这些文件和应用程序报告Error32。
class MyThread(threading.Thread):
def __init__(self, fileList, destFolder):
threading.Thread.__init__(self)
def run(self):
for fileItem in self.fileList:
if self.stop:
break
try:
self.__copyFile(fileItem, localDestFolder)
self.successList.append(fileItem)
except Exception, e:
self.errorList.append((fileItem, str(e)))
@staticmethod
def __copyFile(source, destination):
print 'Use shutil to copy file %s' % source
shutil.copy2(source, destination)
print 'Copy end'
错误32本身是相当无意义的,不知道它是如何报告的。在C中,它是“断开的管道”,这意味着它是错误的文件复制以外的东西。请显示一些代码和错误的完整追溯。 – cdarke