文件處理在編程中是常見的操作,文件的打開,關閉,重命名,刪除,追加,復制,隨機讀寫非常容易理解和使用。需要註意的是文件的安全關閉,采用with語句輕松便捷:
1.CSV 的文件處理
csv 模塊可以很好地處理csv文件,而Pandas 模塊則可以較好的處理大型的csv文件,還可以處理HTML等,並提供分塊處理。
2.XML 的文件處理
對於較小的xml文件,最好使用cElementTree,至少要用ElementTree,對於大型文件,最好用lxml處理。
3.文件內容的序列化和範序列化
用pickle 實現序列化和反序列化非常簡單dump()和load()即可,但要註意,pickle不能實現原子化操作,數據源敏感,存在安全隱患。另壹種序列化的形式是json。同樣是dumps(),load(),擴展性好,可以指定decoder,性能比pickle差壹些。
4.日誌文件處理
在記錄日誌文件使用logging 模塊是要註意logging是線程安全的,避免多個進程同時寫入同壹個日誌。
5.圖像文件處理
對於通常的文件的圖像處理,PIL 模塊足以應付了。在Linux環境下要註意相關圖像庫的安裝,壹般ImageMagick 庫是首選。如果涉及圖像識別等深層次圖像處理,就要尋求OpenCV的幫助了