01Python基礎_06檔案讀寫,

來源:互聯網
上載者:User

01Python基礎_06檔案讀寫,

  1. 讀取檔案

  使用 open 函數或者 file 函數來讀檔案,使用檔案名稱的字串作為輸入參數

1 #讀取檔案內容2 3 f = open('test.txt')4 5 print(f.read())             #讀取檔案全部內容6 print(f.readline())         #讀取檔案第一行7 print(f.readlines())        #返回一個列表,每個元素代表一行8 9 f.close()                   #關閉檔案

  

方法 描述
read() 一次讀取檔案所有內容,返回一個str
read(size) 每次最多讀取指定長度的內容,返回一個str;在Python2中size指定的是位元組長度,在Python3中size指定的是字元長度
readlines() 一次讀取檔案所有內容,按行返回一個list
readline() 每次唯讀取一行內容

  遍曆列印檔案中每一行:

1 with open('song.txt', 'r', encoding='utf-8') as f:2     for line in f.readlines():3         print(line)

  或:

1 with open('song.txt', 'r', encoding='utf-8', newline='') as f:2     for line in f:3         print(line)

  2. 寫檔案

  open()預設已r模式開啟檔案,要想寫入,需已w模式開啟檔案。以w模式開啟時,如果檔案不存在則建立檔案,如果檔案存在則覆蓋之前的內容。

1 #寫入檔案2 3 f = open('test.txt', 'w')   #使用w模式開啟檔案4 f.write('hello world!')     #寫入內容5 f.close()                   #關閉檔案
檔案開啟模式 描述
r 以唯讀模式開啟檔案,並將檔案指標指向檔案頭;如果檔案不存在會報錯
w 以唯寫模式開啟檔案,並將檔案指標指向檔案頭;如果檔案存在則將其內容清空,如果檔案不存在則建立
a 以只追加可寫入模式開啟檔案,並將檔案指標指向檔案尾部;如果檔案不存在則建立
r+ 在r的基礎上增加了可寫功能
w+ 在w的基礎上增加了可讀功能
a+ 在a的基礎上增加了可讀功能
b 讀寫二進位檔案(預設是t,表示文本),需要與上面幾種模式搭配使用,如ab,wb, ab, ab+(POSIX系統,包括Linux都會忽略該字元)

  3. 關閉檔案

  關閉檔案可以保證內容已經被寫入檔案,而不關閉可能會出現意想不到的結果。使用close()關閉檔案。

  可以用try...finally來保證檔案無論如何都能被關閉:

1 #寫入檔案2 try:3     f = open('test.txt', 'w+')      #使用w+模式開啟檔案4     f.write('hello world!')         #寫入內容5 finally:6     if f:7         f.close()8         print('file has been closed. ')

  事實上,Python提供了更安全的方法,當 with 塊的內容結束後,Python會自動調用它的close 方法,確保讀寫的安全:

1 #寫入檔案2 with open('test.txt', 'w') as f:3     f.write('hello world!')         #寫入內容4 print(f.closed)             #返回True

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.