我使用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