python-IO
02-07
IO即input、output,也就是輸入輸出,比如文件內容的展示(輸出),編輯文件內容(輸入)。
1、文件讀取
打開文件:
讀取文件內容:file.read()
關閉文件:
打開的文件都要關閉才行,不然會佔用系統資源,就像你電腦窗口開多了,電腦就會卡。文件讀寫時都有可能產生IOError,導致後面的 file.close() 代碼不會執行,需要進行錯誤處理:
如果不想總是手動調用close方法關閉打開的文件,使用with可以調用close方法處理文件關閉:read()是一次性把內容全部讀取出來,而readlines()則是以集合的形式獲取每一行的數據,遍歷可以逐行輸出內容:文本內換行會影響輸出的結果,使用strip()可以處理這個問題:
對於二進位文件的讀取,比如圖片、視頻等等,使用rb模式打開文件:我們還可以指定讀取內容的時候,按照什麼編碼格式讀取:2、文件寫入:以w模式打開文件:
這樣我們通過write()即可寫入內容,寫二進位文件的話需要以wb打開文件。
我們驗證下,剛才是否寫入內容了:
3、StringIO與BytesIOStringIO可以讓我們像文件讀寫那樣操作字元串:
BytesIO可以讓我作二進位的讀寫:
寫入的不是str,而是經過UTF-8編碼的bytes4、os模塊
獲取操作系統類型:
獲取系統中的環境變數:查找當前目錄的絕對路徑:創建一個新目錄(如果目錄已經存在,那麼會報錯)【FileExistsError】:刪除一個目錄(如果目錄不存在,那麼會報錯)【FileNotFoundError】:合併路徑:拆分路徑:獲取文件擴展名:合併、拆分路徑的函數並不要求目錄和文件要真實存在,它們只對字元串進行操作。對文件進行重命名 #找不到文件時會報錯【FileNotFoundError】:
列出當前目錄下所有的目錄:列出所有的py文件,其實和上面的原理是一樣的:超級簡潔的寫法:寫完,搞定~~推薦閱讀:
※Python 會不會替代 MATLAB?
※給妹子講python--15迭代環境
※Scrapy爬蟲框架教程(四)-- 抓取AJAX非同步載入網頁
※【談談智商稅】我究竟該怎麼學Python