Ⅰ python 拿來直接用的7個os讀寫文件的操作!網友:建議收藏!
在學習真實案例之前,我們先來了解一下Python文件操作的一些基本概念~~
如何創建讀取和寫出的文件對象,open()方法來搞定
他有兩個參數,第一個就是讀取的文件名稱,第二個是可選的,指的是打開文件的模式,默認是讀取文件。
當我們獲取到讀取文件對象fin之後我們就可以讀取文件內容了,這里介紹兩種方式。
第一種是直接讀取文件內容,
第二種是按行讀取文件內容。
區別在於如果你的文件非常大,如果直接讀取效率會非常低下,甚至會撐爆內存。
所以按行讀取按行處理就不會因為文件過大而產生問題了
文件讀取完成之後寫出文件有如下方式:
'\n'的意思是我們手動換行
最後關閉文件有兩種方式
為什麼要關閉文件呢?
如果不關閉他就會持續打開狀態,瑣事其他進程後者線程要操作它的時候就會報錯
我們有時候寫入非常大的數據的時候打開文件後會發現數據不是最新的?
這是因為python在寫出文件是先寫到內存中,等到一定的事件之後或者文件到達一定的數量之後才會寫入到磁碟
所以我們如果想要看最新的數據,可直接調用如下方法
接下來我們使用數據進行測試
1. 文件讀操作
文件讀、寫操作比較常見。讀取文件,要先判斷文件是否存在。
若文件存在,再讀取;不存在,拋出文件不存在異常。
文件存在情況:
文件不存在情況:
open 後,務必要 close,這種寫法有些繁瑣,還容易出錯。藉助 with 語法,同時實現 open 和 close 功能,這是更常用的方法。
2.獲取文件的後綴名
如何優雅地獲取文件後綴名?os.path 模塊,splitext 能夠優雅地提取文件後綴。
3. 批量修改文件後綴名
修改之前
修改文件後綴名的文件方法如下:
從修改之後:
4. 獲取文件名
有時拿到一個文件名時,名字帶有路徑。這時,使用 os.path、split 方法實現路徑和文件的分離。
我們還可以直接使用使用os.path 模塊,splitext 提取文件後綴名。
5.獲取以指定後綴結尾的文件
當我們想要查詢某路徑下所有以固定後綴結尾的文件時,可以使用如下方法
6. 批量修改文件後綴名
後綴名批量修改,實現思路:
1. 遍歷目錄下的所有文件
2. 獲取文件的後綴名
3. 如果後綴名命中為 old_ext,rename 重命名
defbatch_rename(work_dir, old_ext, new_ext):
"""
傳遞當前目錄,原來後綴名,新的後綴名後,批量重命名後綴
7. 批量獲取文件修改時間
os.walk 生成文件樹結構,os.path.getmtime 返迴文件的最後一次修改時間: