色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python監控文件改動

傅智翔1年前8瀏覽0評論

Python監控文件改動

在開發過程中,我們經常需要知道文件何時被修改、誰修改了它,以及它的內容是什么。這個任務用Python很容易就可以實現。本文將介紹如何使用Python監控文件改動。

相信大家都知道,Python是一種高級語言,可以快速輕松地實現這個任務。我們需要用到三個模塊:

import os
import time
import logging

接下來,我們需要定義一個監控函數。這個函數需要接收三個參數:文件名、等待時間和一個日志對象,然后它會進入一個永久循環。在每個循環中,它將檢測文件是否被修改。如果被修改了,它將記錄下來,并調用日志對象的相應函數輸出日志信息。在檢測完畢之后,函數將暫停指定的等待時間,然后再進行下一次循環。

def monitoring_file_changes(filename, wait_time, log):
filesize_last = os.path.getsize(filename) # 文件大小
file_modified_last = os.path.getmtime(filename) # 上一次修改時間
while True:
time.sleep(wait_time)
filesize_current = os.path.getsize(filename)
file_modified_current = os.path.getmtime(filename)
if filesize_current != filesize_last or file_modified_current != file_modified_last:
log.info('File %s was modified at %s', filename, time.time())
filesize_last = filesize_current
file_modified_last = file_modified_current

現在,我們已經定義了監控函數。接下來,我們需要創建一個日志對象來輸出我們的日志信息。這個日志對象支持多種格式,包括文本、XML和HTML等等。我們可以使用logging模塊創建一個日志對象,并指定其格式。

logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
log = logging.getLogger()

接下來,我們可以調用監控函數,來監控我們感興趣的文件。

monitoring_file_changes('test.txt', 1.0, log)

在上面這個例子中,我們會每隔一秒鐘檢查一次test.txt文件的狀態。

我們可以嘗試修改該文件,看看我們的監控函數是否能夠捕捉到這個操作。

當我們修改文件的內容時,程序會輸出一條日志信息,說明文件已經被修改了。

這就是一個簡單的Python文件監控程序,它可以用來監控你感興趣的文件是否被修改了。這個程序相當可靠,而且功能強大,在開發過程中非常有用。