版權聲明:本文為半吊子子全棧工匠(wireless_com,同公衆号)原創文章,未經允許不得轉載。 https://blog.csdn.net/wireless_com/article/details/47068285
檔案處理在程式設計中是常見的操作,檔案的打開,關閉,重命名,删除,追加,複制,随機讀寫非常容易了解和使用。需要注意的是檔案的安全關閉,采用with語句輕松便捷:
with open(pathname,”r”) as myfile:
do_some_with(myfile)
-
CSV 的檔案處理
csv 子產品可以很好地處理csv檔案,而Pandas 子產品則可以較好的處理大型的csv檔案,還可以處理HTML等,并提供分塊處理。
-
XML 的檔案處理
對于較小的xml檔案,最好使用cElementTree,至少要用ElementTree,對于大型檔案,最好用lxml處理。
-
檔案内容的序列化和範序列化
用pickle 實作序列化和反序列化非常簡單dump()和load()即可,但要注意,pickle不能實作原子化操作,資料源敏感,存在安全隐患。另一種序列化的形式是json。同樣是dumps(),load(),擴充性好,可以指定decoder,性能比pickle差一些。
-
日志檔案處理
在記錄日志檔案使用logging 子產品是要注意logging是線程安全的,避免多個程序同時寫入同一個日志。
-
圖像檔案處理
對于通常的檔案的圖像處理,PIL 子產品足以應付了。在Linux環境下要注意相關圖像庫的安裝,一般ImageMagick 庫是首選。如果涉及圖像識别等深層次圖像處理,就要尋求opencv的幫助了