from watchdog.observers import Observer
from watchdog.events import *
class FileEventHandler(FileSystemEventHandler):
# 初始化魔術方法
def __init__(self):
FileSystemEventHandler.__init__(self)
self.fileNameList = [] # 檔案名串列(存盤檔案名)
# 創建檔案或檔案夾
def on_created(self,event):
if event.is_directory:
print("directory created:{0}".format(event.src_path))
else:
pass
#print("file created:{0}".format(event.src_path))
fileAllName = str(event.src_path.split('/')[-1])
if fileAllName.endswith('.wav'):
self.fileNameList.append(fileAllName)
#self.fileAllName = fileAllName
#print(fileAllName)
return self.fileNameList
#print(self.fileNameList)
def file_path(self,fileNameList):
fileName = fileNameList
return fileName
if __name__ == "__main__":
# 實體化Observer物件
observer = Observer()
event_handler = FileEventHandler()
fileNameList = event_handler.fileNameList
b = event_handler.file_path(fileNameList)
for a in b:
print(a)
# 設定監聽目錄
dis_dir = "D:\\luyin"
isExists = os.path.exists(dis_dir)
if not isExists:
os.makedirs(dis_dir)
observer.schedule(event_handler, dis_dir, True)
observer.start()
try:
while True:
# 設定監聽頻率(間隔周期時間)
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
現在問題是def on_created() 能夠正常監控到新增的檔案,需求是def file_path() 能去呼叫def on_created()回傳值,目前一直呼叫不成功,請哪位指點一下。上面代碼改動過,能有些錯誤,邏輯是這樣的
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/269536.html
上一篇:爬取某國外電商平臺的評論
