pip install watchdog 安裝需要的包
classmyhandler(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...