首页 > 解决方案 > 另一个进程正在使用 Python PermissionError:

问题描述

我正在尝试制作从 2:53 开始的移动文件的 2. 版本,版本 1 从 1:18 开始https://www.youtube.com/watch?v=qbW6FRbaSl0

我有这段代码,如果我 CTRL+lmouse 单击/拖动一个文件到“test1”文件夹,它会重命名它并将其传输到“test2”文件夹。

from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
#pip install watchdog

import os
import time


class MyHandler(FileSystemEventHandler):
    i = 1

    def on_modified(self, event):
        new_name = "new_file_" + str(self.i) + ".txt"
        for filename in os.listdir(folder_to_track):
            file_exists = os.path.isfile(folder_destination + "/" + new_name)
            while file_exists:
                self.i += 1
                new_name = "new_file_" + str(self.i) + ".txt"
                file_exists = os.path.isfile(folder_destination + "/" + new_name)

            src = folder_to_track + "/" + filename
            new_destination = folder_destination + "/" + new_name
            os.rename(src, new_destination)


folder_to_track = '/Users/TH/Desktop/test1'
folder_destination = '/Users/TH/Desktop/test2'
event_handler = MyHandler()
observer = Observer()
observer.schedule(event_handler, folder_to_track, recursive=True)
observer.start()

try:
    while True:
        time.sleep(10)
except KeyboardInterrupt:
    observer.stop()
observer.join()

我的问题是,如果我试图将另一个(文件 2)拖到“Test1”文件夹中,那么我会收到此错误...(然后我需要重新启动电脑,然后可以使用第一个文件和第二个文件执行此操作文件将再次开始错误。)

PermissionError: [WinError 32] 该进程无法访问该文件,因为它正被另一个进程使用:'/Users/TH/Desktop/test1/skole.txt' -> '/Users/TH/Desktop/test2/new_file_2.txt '

有人可以帮助/指导我。

标签: pythonwatchdog

解决方案


推荐阅读