Skip to content

Python 909 聯絡人資料

題目說明:

請撰寫一程式,將使用者輸入的五個人的資料寫入data.dat檔,每一個人的資料為姓名和電話號碼,以空白分隔。再將檔案加以讀取並顯示檔案內容。

範例輸入
Karen 123456789
Bonnie 235689147
Simon 987612345
Louis 675489321
Andy 019238475

範例輸出

The content of "data.dat":
Karen 123456789

Bonnie 235689147

Simon 987612345

Louis 675489321

Andy 019238475

題目解析

問題分析:
這個問題要求我們編寫一個程式,讓使用者輸入五個人的資料,包括姓名和電話號碼,然後將這些資料寫入名為 data.dat 的檔案中。接著,程式需要讀取這個檔案並顯示其內容。

解題思路:

  1. 首先,我們需要使用 with 語句打開 data.dat 檔案,並以寫入模式打開。
  2. 接著,我們使用迴圈讓使用者輸入五個人的資料,每次輸入後將資料寫入檔案中,每筆資料以換行符號分隔。
  3. 輸入完畢後,我們顯示訊息指示檔案內容即將被顯示。
  4. 接著,我們再次使用 with 語句打開 data.dat 檔案,這次以讀取模式打開。
  5. 我們遍歷檔案的每一行並顯示其內容。

思考方向:

  • 我們需要確保檔案是否能夠成功打開和寫入。
  • 使用者輸入的資料格式應該是符合要求的,例如姓名和電話號碼之間應該以空格隔開。
  • 在讀取檔案並顯示其內容時,我們應該確保檔案是否存在以及是否能夠成功打開和讀取。

Solution

  1. 用二進制encoding
1
2
3
4
5
6
7
with open("data.dat", "w", encoding = "utf-8") as f:
  for i in range(5):
    f.write(input()+"\n")
print('The content of "data.dat":')
with open("data.dat", "r", encoding = "utf-8")as f:
  for i in f:
    print(i)
  1. 一般讀檔寫檔
# 寫入資料到檔案
with open('data.dat', 'w') as file:
    for _ in range(5):
        data = input()
        file.write(f"{data}\n")

# 讀取並顯示檔案內容
with open('data.dat', 'r') as file:
    content = file.read()
    print('The content of "data.dat":')
    print(content)

with的用法

with 是 Python 中的一個上下文管理器(Context Manager),用於簡化檔案、資源、網路連接等需要進行開啟和關閉的操作。它的主要作用是在程式碼區塊執行完畢後,自動關閉相關資源,無論是否發生異常。

使用 with 語句的一般格式如下:

with context_manager as variable:
    # code block

這裡的 context_manager 是一個支援上下文管理協議的物件,例如內建的 open() 函式。在這個區塊中,你可以使用 variable 來操作被管理的資源。

with 語句的優點包括:

  1. 自動確保資源在使用完畢後被正確地關閉,無論程式運行期間是否發生異常。
  2. 程式碼結構清晰,易於閱讀和維護。

在範例中,with 語句被用來打開和關閉檔案,確保在讀取或寫入操作完成後自動釋放資源,並且不需要額外的 close() 函式來手動關閉檔案。


Last update : 13 novembre 2024
Created : 13 novembre 2024

Comments

Comments