1. 程式人生 > >《Python程式設計從入門到實踐》記錄之檔案寫入

《Python程式設計從入門到實踐》記錄之檔案寫入

1、檔案寫入

通過一個例子來講解檔案寫入。下邊例子假設我們需要將一條簡單的訊息儲存到檔案中,類似程式碼如下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

filename = 'programing.txt'

# 寫的方式開啟檔案
with open('programing', 'w') as file_object:
    file_object.write('I love programing.')  # 檔案寫入
    file_object.write('I love creating new games.\n')  #write不會自動換行,需要人工加換行符
    file_object.write('I love interesting games!\n')

執行結果(執行程式目錄出現programing.txt檔案):

由上述程式碼分析檔案寫入方法:

open()函式:

  • open()函式有兩個實參,第一個是開啟檔名稱,第二個實參('w')告訴Python以寫入模式開啟這個檔案。
  • 在開啟檔案時,我們可以指定開啟模式:讀取模式('r')、寫入模式('w')、附加模式('a')、讀取和寫入檔案模式(‘r+’)。如果省略模式實參,Python將以預設的只讀模式開啟檔案。
  • 如果寫入的檔案不存在,函式open()將自動建立它。以寫入('w')模式開啟檔案時,如果指定的檔案已經存在,Python將在返回檔案物件前清空該檔案。

write()方法:

  • write()方法將一個字串寫入檔案
  • Python只能將字串寫入文字檔案。若要將資料儲存到文字檔案中,必須先使用函式str()將其轉換為字串格式。
  • write()方法不會在寫入的文字末尾新增換行符,如需換行,需要手動新增換行符,如file_object.write('I love creating new games.\n')
  • 像顯示到終端到輸出一樣,可以使用空格、製表符、空行來設定這些輸出的格式。

2、附加到檔案

如果要給檔案新增內容,而不是覆蓋原有的內容,可以附加模式開啟檔案。以附加模式開啟檔案時,Python不會在返回檔案物件前清空檔案

,寫入到檔案的行都將新增到檔案末尾

如果指定的檔案不存在,Python將為你建立一個空檔案。所以,個人覺得如果需要寫入檔案,可以用此種模式開啟。如果你想覆蓋檔案,那就用寫('w')模式開啟。

下邊例子是附加到檔案的程式碼,基於上述程式碼執行的programing.txt檔案,以附加模式開啟,寫入檔案:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

filename = 'programing.txt'

# 寫的方式開啟檔案
with open('programing', 'a') as file_object:
    file_object.write('I also love finding meaning in large datasets.\n')  
    file_object.write('I love creating apps that can run in a browser!\n')

執行結果: