Python文件的使用
要點:Python能夠以文本和二進制兩種形式處理文件。
1.文件的打開模式,如表1:
注意:使用open()函數打開文件,文件使用結束后耀使用close()方法關閉,釋放文件的使用授權。
2.文件的讀寫
2.1文件的寫入方法,如表2:
2.1.1示例一
1 fname =input("請輸入要寫入的文件:") 2 #以追加形式寫入文件 3 fo = open (fname,"w+") 4 #定義列表 5 ls = ["唐詩","宋詞","元曲"] 6 fo.writelines(ls) 7 #從文件開頭開始寫入 8 fo.seek(0) 9 #循環打印出寫入文件中的內容 10 for line in fo: 11 print(line) 12 #關閉文件(避免資源占用) 13 fo.close()
2.1.2運行結果
2.2文件的讀取方法,如表3:
注意:文件的換行符
1.如果采用二進制的方式打開文件,換行符只是一個符號,對應一個字節,表示為“\n”;
2.如果采用文本方式打開文件,換行符表示一行的結束,輔助程序對文件的處理。文件的換行符是真實存在的一個字符。
2.2.1示例二
1 fname1 =input("請輸入要打開的文件:") 2 # 以只讀取的方式讀取文件內容 3 fo1 = open (fname1,"r") 4 fo1.readlines() 5 # 從文件開頭開始讀取文件內容 6 fo1.seek(0) 7 # 循環打印出文件的內容 8 for line1 in fo1: 9 print(line1) 10 # 關閉文件(避免資源占用) 11 fo1.close()
2.2.2運行結果
3.由於在實際編碼中,對文件的操作是十分頻繁的,編寫代碼時,如果按照以往的規則,靠手動關閉文件,難免會出現忘記關閉文件的現象,因此,Python在技術上提供了自動關閉文件的功能,減輕程序員的代碼編寫負擔,也避免忘記關閉文件,而造成的資源浪費和程序穩定。(小型操作文件時,不關閉文件,對程序的影響較小。但在大型的系統中,如果文件不及時關閉,會導致系統的崩潰)
3.1優化后的代碼如下:
1 # 文件讀寫編碼格式 2 # 'demo.txt'文件名,讀取方式,文本格式 3 with open('demo.txt','r',encoding='utf-8') as f: 4 for line in f.readlines(): 5 # end=''控制文本中換行時不讀取出換行號 6 print(line,end='') 7 # 定義列表 8 ls = ["sunny","dghahdfg"] 9 with open('demo.txt','a',encoding='utf-8') as f: 10 for line in ls: 11 # 寫入文件 12 f.write('{}\n'.format(line))
4.小練習----統計文件中內容的行數(三種方式實現)
1 with open('demo.txt','r',encoding='utf-8') as f: 2 for line in f.readlines(): 3 # end=''控制文本中換行時不讀取出換行號 4 print(line,end='') 5 # 計算行數1 6 # 文檔中的內容以行為單位為列表的一個元素,存入列表 7 ls=f 8 # 調用計算列表元素個數函數len()統計行數 9 print(len(ls)) 10 # 計算行數2 11 count = len(open('demo.txt', 'r').readlines()) 12 print(count) 13 # 計算行數3 14 count = 0 15 for index, line in enumerate(open('demo.txt','r')): 16 count += 1 17 print(count)