讀古今文學網 > 父與子的編程之旅:與小卡特一起學Python > 第22章 >

第22章

測試題

1. Python 中用來處理文件的對象稱為文件對象。

2. 要使用 open 函數創建文件對象,這是 Python 的內置函數之一。

3. 文件名是磁盤上(或其他存儲介質,如 flash 盤)存儲文件時使用的名字。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")  

動手試一試

1. 下面是創建滑稽句子的一個簡單程序:

import randomnoun_file = open("nouns.txt", 'r')nouns = noun_file.readlinenoun_list = nouns.split(',')noun_file.closeadj_file = open("adjectives.txt", 'r')adjectives = adj_file.readlineadj_list = adjectives.split(',')adj_file.closeverb_file = open("verbs.txt", 'r')verbs = verb_file.readlineverb_list = verbs.split(',')verb_file.closeadverb_file = open("adverbs.txt", 'r')adverbs = adverb_file.readlineadverb_list = adverbs.split(',')adverb_file.closenoun = 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 = raw_input("Enter your name: ")age = raw_input("Enter your age: ")color = raw_input("Enter your favorite color: ")food = raw_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)  

3. 下面的程序使用 pickle 模塊保存一些數據:

import picklename = raw_input("Enter your name: ")age = raw_input("Enter your age: ")color = raw_input("Enter your favorite color: ")food = raw_input("Enter your favorite food: ")my_list = [name, age, color, food]pickle_file = open("my_pickle_file.pkl", 'w')pickle.dump(my_list, pickle_file)pickle_file.close