os.path.isfile()
是一個 Python 函數,用于檢查給定的路徑是否是一個存在的文件
以下是一個簡單的示例,展示了如何使用 watchdog
庫監控一個文件夾中的文件更改,并在檢測到新文件時使用 os.path.isfile()
進行檢查:
import os
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class FileChangeHandler(FileSystemEventHandler):
def on_created(self, event):
if os.path.isfile(event.src_path):
print(f"New file created: {event.src_path}")
else:
print(f"New folder created: {event.src_path}")
if __name__ == "__main__":
path = "/path/to/monitor"
event_handler = FileChangeHandler()
observer = Observer()
observer.schedule(event_handler, path, recursive=False)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
在這個示例中,我們首先導入所需的庫,然后定義一個名為 FileChangeHandler
的類,該類繼承自 FileSystemEventHandler
。我們重寫了 on_created
方法,以便在檢測到新文件或文件夾時執行操作。在這個方法中,我們使用 os.path.isfile()
檢查給定的路徑是否是一個文件。如果是文件,我們打印出新創建的文件路徑;否則,我們打印出新創建的文件夾路徑。
最后,我們創建一個 Observer
對象,將 FileChangeHandler
實例與其關聯,并指定要監控的路徑。然后,我們啟動觀察者并等待用戶按下 Ctrl+C 以停止程序。