規則:open(file_name[,access_mode][,buffering])
引數說明
file_name:、檔案路徑+檔名稱,加路徑從路徑開始訪問,不加路徑直接訪問的是與你編輯的py檔案在同一目錄下的檔案
access_mode:開啟檔案的方式:預設為只讀模式,r
其他開啟檔案的方式:
'r':只讀
'w':寫
'a':追加
'r+' == r+w : 可讀可寫,主要為讀,若檔案不存在會出現儲存
'w+' == w+r :可讀可寫,主要為寫,檔案若不存在就建立一個檔案
'a+' ==a+r :可追加可寫,檔案若不存在就建立
如果為二進位制檔案,則在後面加個b,例如:wb
對檔案操作時要注意編碼格式,不然會出現亂碼。預設格式為utf-8
1 # --*-- coding:UTF-8 --*-- 2 3 # 開啟檔案並讀取檔案 4 f = open(r'file.text') 5 print(f.read()) 6 f.close() 7 # 結果:你發順豐發撒瘋 是發撒瘋 發 8 # open 開啟, read為讀取檔案內容, close為關閉檔案 9 10 11 # 開啟一個不存在的檔案 12 # f = open(r'/User/xxx/s.text') 13 # 結果:FileNotFoundError: [Errno 2] No such file or directory: '/User/xxx/s.text' 14 15 16 # 如果直接開啟檔案的話必須要關閉檔案,寫的時候不關閉會寫不進去內容的 17 # 用with open的時候直接使用,就不需要關閉檔案了 18 with open(r'file.text') as fp: 19 print(fp.read()) 20 # 結果:你發順豐發撒瘋 是發撒瘋 發 21 # fp是將檔案縮寫,以fp代替檔案 22 23 24 ''' 25 讀取文字的三種方法: 26 read:讀取文字的所有內容 27 readline:讀取文章的一行 28 readlines() 自動將檔案內容分析成一個行的列表讀取 29 ''' 30 31 32 33 # 寫檔案 34 with open('learning.txt', 'w') as fp: 35 fp.write('Hello, world!') 36 # 結果:自動新建一個learning.txt的檔案,並且存入內容hello ,world! 37 38 ''' 39 寫入文字的兩種方法: 40 write():將內容寫入文字中 41 writelines():針對列表的操作 42 ''' 43 44 45 # 舉例說明readlines和writelines 46 with open('text.txt','w') as fp: 47 fp.writelines(['123\n', '234\n', '345\n', '456\n',]) 48 # 結果: 49 ''' 50 123 51 234 52 345 53 456 54 ''' 55 56 with open('text.txt','r') as fp: 57 print(fp.readlines()) 58 # 結果:['123\n', '234\n', '345\n', '456\n'] 59 60 61 # 文字後面追加內容用a模式,不然就直接覆蓋了之前的內容 62 with open('learning.txt', 'a') as fp: 63 fp.write('\nHello, world!') 64 # 結果: 65 ''' 66 Hello, world! 67 Hello, world! 68 '''