2.2 處理檔案
本章主要介紹的內容如下:
os是python提供的用來和檔案與目錄互動的模組。(operating system作業系統)的縮寫。
匯入模組:
import os
其部分的os函式如下:
語法描述
import os
匯入模組os
help(os)
os的函式及其功能
os.listdir()
列出目錄的內容,返回乙個列表,其中每個元素都是包含檔名的字串
os.chdir(string)
切換目錄,其中的string可以是相對路徑名,也可以是絕對路徑名。
os.getcwd()
獲取當前工作目錄。返回乙個字串,其中包含當前目錄的完成路徑名
開啟檔案
處理檔案 (讀取、寫入或者讀寫資訊)
關閉檔案
開啟檔案
盡量少在同乙個會話中多次開啟同乙個檔案,因為很耗時間
開啟檔案的語法如下:
open(file,mode='r') 返回乙個檔案物件
關於mode引數常用的有:
關閉檔案
in_file .close()
在處理完檔案後一定要關閉檔案,只有關閉檔案才能確保輸入的資訊被儲存。
不理解的with用法
with open ('a.text','a') as f:
f.writelines('ccc')
f.writelines('bb')
f.writelines('a')
寫入檔案:
file_obj.write(string) ps:需要注意它不會自動新增換行操作
讀取檔案:
for a_line in in_file:
print(a_line)
ps:處理異常
異常處理:
在檔案操作時,我們可以經常會遇到檔案不存在,目錄不存在等而導致的各種情況導致程式異常終止。但很多時候我們希望,即使程式出現異常,依然能夠完成其它的操作
這個時候我們就需要用到異常處理
try: 語句
except: 語句 我們來看一下例子
try:
f = open('not_exist.txt')
print('檔案開啟成功')
except:
print('檔案開啟失敗')
#對於上面的程式,執行時,並不會報錯,而是列印出了 檔案開啟失敗
#這樣即使檔案開啟失敗,我們依然可以執行下面的語句,不會退出
#因為程式的異常有很多種類,所以我們也可以捕捉特定的異常
try: m = 6 / 0
except zerodivisionerror as e:
# 這裡只捕捉被 0 除的異常,其它的異常並不能捕捉到 print(e.args)
# 列印異常的詳細資訊
#這裡其實是還可以寫多個except 但是注意上面的寫的異常不能包含了下面的異常,否則,也是捕捉不到的
try: m = 6 / 0
except exception as e:
# 這裡面雖然是zerodivisionerror的異常,但是exception是所有異常的基類,所以捕獲不到下面的異常 print('exception')
except zerodivisionerror as ze: print('zerodivisionerror')
# try--except--finally
try: m = 0 / 0
except exception as e: print(e.args)
finally: print('無論如何都要執行我') # finally的語句都要執行,一般用的不多,但是我們可以用它來關閉檔案 這樣就不會因為程式異常退出而沒有關閉檔案
在編輯時引用了子永兄的部落格,應該允許吧~僅自己學習用 第十一章 檔案和流
mode模式 buffering 緩衝 函式返回乙個檔案物件 所有檔案物件都是可迭代的 access mode 檔案使用模式,在open函式中預設為唯讀。其他模式還有 w 開啟只寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案。r 以讀寫模式開啟 該檔案必須存在。w ...
modern c design 第十一章
本章介紹了經常遇到的雙分派的一種泛型解決方案。c 在語法上實現了單分派,即虛函式,通過動態機制選擇相應的函式。雙分派是形如fun object1 a,object2 b 根據a和b的實際型別動態自動分派乙個處理函式。最容易想到的方案,蠻幹法 寫一大堆過載函式.不過這種方法會有很強的依賴性。也提供了一...
第十一章3
第十一章 一 滾動元件 awt中的滾動元件包括scrollbar 滾動條 和滾動面板 scrollpane 兩種。1 滾動條scrollbar 在指定的取值範圍內快速選取某一值的功能。i.構造方法 public scrollbar int orientation,int value,int visi...