python在windows中監聽檔案是否有操作

2022-09-12 21:48:20 字數 2596 閱讀 3520

pip install watchdog 安裝需要的包

class

myhandler(filesystemeventhandler):

def__init__

(self):

f = open('

config.js')

j =json.load(f)

for c in j["

config"]:

if c["

file_path"]:

self.file_path = c["

file_path"]

break

else

:

raise runtimeerror('

沒有設定有效配置引數')

defon_modified(self, event):

print("

檔案被修改了 %s

" %event.src_path)

defon_created(self, event):

#start_new_thread啟動執行緒

#引數一:呼叫的方法名 引數二:元組傳遞呼叫的方法要使用的引數

_thread.start_new_thread(theard_method,(event.src_path,))

watch_files=get_img_file(event.src_path)

if len(watch_files)>0:

insertsql_dectimg(watch_files)

print("

檔案被建立了 %s

" %event.src_path)

if__name__ == "

__main__":

event_handler =myhandler()

observer =observer()

observer.schedule(event_handler, event_handler.file_path, recursive=true)

observer.start()

#observer.join()

檔案系統事件類

檔案系統事件基類定義如下:

watchdog.events.filesystemevent(event_type, src_path, is_directory=false)#event.event_type - 事件型別,為 moved / deleted / created / modified 其中之一#event.src_path - 觸發該事件的檔案或目錄路徑#event.is_directory - 該事件是否由乙個目錄觸發

由 watchdog.events.filesystemevent 基類派生的子類如下:

watchdog.events.filedeletedevent()#檔案被刪除時觸發該事件

watchdog.events.dirdeletedevent()#目錄被刪除時觸發該事件

watchdog.events.filecreatedevent()#檔案被建立時觸發該事件

watchdog.events.dircreatedevent()#目錄被建立時觸發該事件

watchdog.events.filemodifiedevent()#檔案被修改時觸發該事件(修改檔案內容、修改檔案inode資訊如許可權和訪問時間,都會觸發該事件)

watchdog.events.dirmodifiedevent()#目錄被修改時觸發該事件

watchdog.events.filemovedevent()#檔案被移動或重新命名時觸發該事件,因為涉及檔案移動,所以除了event.src_path表示原路徑,還有event.dest_path表示目的路徑

watchdog.events.dirmovedevent()#目錄被移動或重新命名時觸發該事件,因為涉及檔案移動,所以除了event.src_path表示原路徑,還有event.dest_path表示目的路徑

檔案系統事件處理類

watchdog.events.filesystemeventhandler 是事件處理器的基類,用於處理事件,使用者需繼承該類,並在子類中重寫對應方法。需要使用者重寫的方法有:

self.on_any_event(event)#任何事件發生都會首先執行該方法,該方法預設為空,dispatch()方法會先執行該方法,然後再把 event 分派給其他方法處理

self.on_moved(event)#處理 dirmovedevent 和 filemovedevent 事件,預設為空

self.on_created(event)#處理 dircreatedevent 和 filecreatedevent 事件,預設為空

self.on_deleted(event)#處理 dirdeletedevent 和 filedeletedevent 事件,預設為空

self.on_modified(event)#處理 dirmodifiedevent 和 filemodifiedevent 事件,預設為空

以上方法中,event 有幾個屬性可用:

event.is_directory - 觸發事件的是否為資料夾

event.src_path - 源路徑

event.dest_path - 目標路徑

用python在windows中列印

2010年2月14日 我這樣做,除了我的軟體開發的技術支援相當。在我們的小店裡,我們得到解決任何涉及到技術,從網路到軟體到印表機。我認為最討厭的乙個方面是試圖讓印表機來處理使用者希望的方式。另乙個問題是對具有從pc到漫遊到pc作為他們工作的一部分使用者設定印表機。這些使用者通常只需要是在其特定的位置...

在windows上擴充套件python

在windows環境下建立乙個python的模組。使用vc6和python2.3 先講講做簡單的步驟 1。在vc6中建立乙個dll的project。假定我們的module的名字是mytest.那麼我們的dll名字就是mytest.dll。這個是必須的。2。用c寫我們想要實現的部分。步驟如下 incl...

python 在windows 中文顯示

今天看到mechanize,在網上找例子實驗,發現只要 裡出現中文,就會報錯 python的預設編碼檔案是用的ascii碼 使用notepad 1 檔案編碼為 以utf 8無bom格式編碼 如果python檔案中使用了中文等非英語字元,就會報錯了 解決的方法 在python原始檔的第一行加上 cod...