《父與子的程式設計之旅(第3版)》第22章習題答案
本文針對第22章章末的習題提供參考答案。當然,有些習題的正確答案不止一個,特別是“動手試一試”,不過你可以通過這些答案來判斷自己的思路是否正確。
第22章 檔案的輸入和輸出
測試題
(1) Python用來處理檔案的物件稱為檔案物件。
(2) open()
函式可以用來建立檔案物件,這是Python的內建函式之一。
(3) 檔名是在磁碟上(或快閃記憶體盤等其他儲存介質)儲存檔案時使用的名字,檔案物件則用於需要在Python中處理的檔案。檔案物件名與磁碟上的檔名無須相同。
(4) 當程式完成檔案的讀寫操作時,應當關閉檔案。
(5) 如果以追加模式開啟檔案,並在檔案中新增內容,那麼所新增的資訊會增加(追加)到檔案末尾。
(6) 如果以寫模式開啟檔案,然後在檔案中寫入內容,那麼檔案中原有的內容都會丟失,並替換為新的資料。
(7) 要重置為從檔案的起始位置開始讀取,可以使用seek()
方法,並傳入引數0
,如下所示。
myFile.seek(0)
(8) 在使用pickle
模組把Python物件儲存到檔案中時,可以使用pickle.dump()
方法,並指定希望儲存的物件以及檔名作為引數,如下所示。
pickle.dump(myObject, "my_pickle_file.pkl")
(9) 要從pickle檔案還原或獲取物件,可以使用pickle.load()
方法,並指定pickle檔案作為引數,如下所示:
myObject = pickle.load("my_pickle_file.pkl")
記住,pickle檔案必須用二進位制模式('wb'
或'rb'
)開啟。
動手試一試
(1) 下面這個簡單的程式可以造出一些滑稽句子:
import random
noun_file = open("nouns.txt", 'r')
nouns = noun_file.readline()
noun_list = nouns.split(',')
noun_file.close()
adj_file = open("adjectives.txt", 'r')
adjectives = adj_file.readline()
adj_list = adjectives.split(',')
adj_file.close()
verb_file = open("verbs.txt", 'r')
verbs = verb_file.readline()
verb_list = verbs.split(',')
verb_file.close()
adverb_file = open("adverbs.txt", 'r')
adverbs = adverb_file.readline()
adverb_list = adverbs.split(',')
adverb_file.close()
noun = random.choice(noun_list)
adj = random.choice(adj_list)
verb = random.choice(verb_list)
adverb = random.choice(adverb_list)
print("The", adj, noun, verb, adverb + '.')
這裡的單詞檔案應當是用逗號分隔的單詞列表。
(2) 下面的程式會把一些個人資料儲存在一個文字檔案中。
name = input("Enter your name: ")
age = input("Enter your age: ")
color = input("Enter your favorite color: ")
food = input("Enter your favorite food: ")
my_data = open("my_data_file.txt", 'w')
my_data.write(name + "\n")
my_data.write(age + "\n")
my_data.write(color + "\n")
my_data.write(food)
my_data.close()
(3) 下面的程式使用pickle模組儲存一些資料。
import pickle
name = input("Enter your name: ")
age = input("Enter your age: ")
color = input("Enter your favorite color: ")
food = input("Enter your favorite food: ")
my_list = [name, age, color, food]
pickle_file = open("my_pickle_file.pkl", 'wb')
pickle.dump(my_list, pickle_file)
pickle_file.close()
相關文章
- 《父與子的程式設計之旅(第3版)》第1章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第2章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第3章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第4章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第5章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第6章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第7章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第8章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第9章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第11章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第12章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第13章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第14章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第15章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第16章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第17章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第18章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第19章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第20章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第21章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第23章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第24章習題答案程式設計
- 《父與子的程式設計之旅(第3版)》第26章習題答案程式設計
- Python核心程式設計v2.0 第11章習題答案Python程式設計
- Python程式設計:從入門到實踐(第2版)第1章習題答案Python程式設計
- Python核心程式設計第2版第六章習題答案Python程式設計
- 李航《統計學習方法》第2版 第2章課後習題答案
- 《Python程式設計(第3版)》[美] 約翰·策勒(John Zelle) 第 3 章 答案Python程式設計
- 第1章 程式設計的方法程式設計
- 《UML基礎、案例與應用》習題記錄-第22章
- 《統計學習方法》第11章習題
- 《Java語言程式設計(基礎篇)(原書第10版)》第2~4章部分程式設計練習題程式碼Java程式設計
- JavaScript物件程式設計-第3章JavaScript物件程式設計
- 第12章、網路程式設計程式設計
- 《程式設計珠璣》第2章三個問題程式設計
- 《Python程式設計:從入門到實踐》第2章習題Python程式設計
- JavaScript的BOM程式設計,事件-第4章JavaScript程式設計事件
- Android程式設計權威指南(第2版)—第14章挑戰練習Android程式設計