python對檔案的操作

Tynam.Yang發表於2018-04-08

規則: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 '''

 

相關文章