Python 監(jiān)聽(tīng)文件路徑是一種實(shí)用的技術(shù),它可以幫助我們?cè)谖募l(fā)生修改或變化時(shí)自動(dòng)進(jìn)行相應(yīng)的操作。在 Python 中,可以通過(guò)監(jiān)視文件夾或文件的方式實(shí)現(xiàn)文件路徑的監(jiān)聽(tīng)。
import os import time path_to_watch = "/Users/xxx/Documents" before = dict([(f, None) for f in os.listdir(path_to_watch)]) while 1: time.sleep(3) after = dict([(f, None) for f in os.listdir(path_to_watch)]) added = [f for f in after if not f in before] removed = [f for f in before if not f in after] if added: print("Added: ", ", ".join(added)) if removed: print("Removed: ", ", ".join(removed)) before = after
上面的代碼使用了 Python 內(nèi)置的os
和time
模塊。它定義了一個(gè)待監(jiān)聽(tīng)的文件夾路徑以及一個(gè)字典before
來(lái)保存監(jiān)聽(tīng)前的文件列表。
接著,代碼進(jìn)入一個(gè)循環(huán),每隔 3 秒鐘獲取一次文件列表,并與之前的文件列表進(jìn)行比較。如果發(fā)現(xiàn)有新文件加入,則打印出 "Added";如果發(fā)現(xiàn)有文件被刪除,則打印出 "Removed"。
使用 Python 監(jiān)聽(tīng)文件路徑可以應(yīng)用在很多場(chǎng)景,比如監(jiān)視用戶上傳的文件,實(shí)時(shí)更新文件的訪問(wèn)權(quán)限或備份文件等。