我已经创建了下面的代码触发器重命名过程的图像文件添加到一个目录。在上载图像文件前20秒,在excel工作表中更新重命名数据
该代码在1次迭代中运行良好,随后显示错误代码:在代码之后声明
请让我知道我错在哪里
import watchdog.events
import watchdog.observers
import time
import pandas as pd
import glob
import os
import os.path
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
date = time.strftime("%Y%m%d")
print(date)
path = r"K:\A100_COMMON\A150_TRANSFER_AREA_1DAY_VALIDITY\Suhas\\" + date # + r'\CAM1'
class OnMyWatch:
# Set the directory on watch
watchDirectory = path
def __init__(self):
self.observer = Observer()
def run(self):
event_handler = Handler()
self.observer.schedule(event_handler, self.watchDirectory, recursive = True)
self.observer.start()
try:
while True:
time.sleep(5)
except:
self.observer.stop()
print("Observer Stopped")
self.observer.join()
class Handler(FileSystemEventHandler):
@staticmethod
def on_any_event(event):
if event.is_directory:
return None
elif event.event_type == 'created':
# Event is created, you can process it now
img_folder = os.listdir(path)
print(path, img_folder)
img_name = []
for img in img_folder:
name, ext = img.split(".")
img_name.append(name)
print(img_name)
time_chunk=[]
for x in img_name:
y = x[:11]
time_chunk.append(y)
print(time_chunk)
df = pd.read_excel(r"K:\A100_COMMON\A150_TRANSFER_AREA_1DAY_VALIDITY\Suhas\g-ng.xlsx")
engine_no = df['engine_no'].iloc[-1]
date_time = str(df['date_time'].iloc[-1])
print(engine_no)
print(date_time[:11])
no = 0
for i in time_chunk:
old_path = path +"\\" + img_name[no] + '.bmp'
print(img_name[no])
#old_folder.append(old_path)
new_path = path + "\\" + engine_no + '_' +str(no) + '.bmp'
print(i)
no += 1
if i == date_time[:11]:
rename = os.rename(old_path, new_path)
if __name__ == '__main__':
watch = OnMyWatch()
watch.run()
#Works Once
错误消息:
线程6中的异常: 回溯(最近一次呼叫最后一次): 文件“C:\Users\shryas.bk\Anaconda3\lib\threading.py”,第932行,在\u bootstrap\u inner中 self.run() 文件“C:\Users\shryas.bk\Anaconda3\lib\site packages\watchdog\obsers\api.py”,第199行,正在运行 self.dispatch\u事件(self.event\u队列、self.timeout) 文件“C:\Users\shryas.bk\Anaconda3\lib\site packages\watchdog\obsers\api.py”,第372行,在dispatch\u事件中 handler.dispatch(事件) 文件“C:\Users\shryas.bk\Anaconda3\lib\site packages\watchdog\events.py”,第260行,在dispatch中 任何事件(事件)上的self.on 文件“”,第86行,在任何事件中 PermissionError:[WinError 32]进程无法访问该文件,因为它正被另一个进程使用:“K:\A100\u COMMON\A150\u TRANSFER\u AREA\u 1DAY\u VALIDITY\Suhas\\20210907\210426\u 141919\u000000000 4\u CAM1\u OK.bmp'->;”K:\A100\u公共\A150\u传输\u区域\u 1DAY\u有效性\Suhas\\20210907\1GDA536685\u 3.bmp'
目前没有回答
相关问题 更多 >
编程相关推荐