轉載請註明出處:http://blog.csdn.net/l1028386804/article/details/78994855

我們來看看pyClamad提供了哪些方法,它主要提供了兩個關鍵類,一個為ClamdNetworkSocket()類,實現使用網路套接字操作clamd;另一個為ClamdUnixSocket類,使用Unix套接字類操作clamd。兩個類的方法完全一樣,這裡我們以ClamdNetworkSocket類進行說明。
1、__init__()方法
__init(self, host='127.0.0.1', port=3310, timeout=None)方法,是ClamdNetworkSocket類的初始化方法,引數host為連線主機IP;引數port為連線埠,預設為3310,與/etc/clamd.conf配置檔案中的TCPSocket引數要保持一致;timeout為連線超時時間。

2、contscan_file()方法
cantscan_file(self, file)方法,實現掃描指定的檔案或目錄,在掃描時發生錯誤或發現病毒將不終止,引數file(string型別)為指定的檔案或目錄的絕對路徑。

3、multiscan_file()方法
multiscan_file(self, file)方法,實現多執行緒掃描指定的檔案或目錄,多核環境速度更快,在掃描時發現錯誤或發現病毒將不終止,引數file(string型別)為指定的檔案或者目錄的絕對路徑。

4、scan_file()方法
scan_file(self, file)方法,實現掃描指定的檔案或目錄,在掃描時發生錯誤或發現病毒將終止,引數file(string型別)為指定的檔案或者目錄的絕對路徑。

5、shutdown()方法
shutdown(self)方法,實現強制關閉clamd程序並退出

6、stats()方法
stats(self)方法,獲取Clamscan的當前狀態

7、reload()方法
reload(self)方法,強制過載clamd病毒特徵庫,掃描前建議做reload操作。

8、EICAR()方法
EICAR(self)方法,返回EICAR測試字串,即生成具有病毒特徵庫的字串,便於測試。