第 22 章

测试题

  1. Python 中用来处理文件的对象称为文件对象。

  2. 要使用 open() 函数创建文件对象,这是 Python 的内置函数之一。

  3. 文件名是磁盘上(或其他存储介质,如 flash 盘)存储文件时使用的名字。Python 中处理文件时要使用文件对象。文件对象名与磁盘上的文件名不必相同。

  4. 程序完成文件的读写后,应当关闭文件。

  5. 如果以追加模式打开一个文件,并在文件中写入内容,你写入的信息会增加(追加)到文件末尾。

  6. 如果以写模式打开一个文件,然后在文件中写入内容,文件中原来的所有内容都会丢失,替换为新的数据。

  7. 要重置为从文件起始位置开始读,可以使用 seek() 方法,并传入参数 0,如下:

  1. myFile.seek(0)
  1. 使用 pickle 把 Python 对象保存到文件时,可以使用 pickle.dump() 方法,并指定希望保存的对象以及文件名作为参数,如下:
  1. pickle.dump(myObject, "my_pickle_file.pkl")
  1. 要从 pickle 文件还原或获取对象,可以使用 pickle.load() 方法,指定 pickle 文件作为参数,如下:
  1. myObject = pickle.load("my_pickle_file.pkl")

动手试一试

  1. 下面是创建滑稽句子的一个简单程序:
  1. import random
  2. noun_file = open("nouns.txt", 'r')
  3. nouns = noun_file.readline()
  4. noun_list = nouns.split(',')
  5. noun_file.close()
  6. adj_file = open("adjectives.txt", 'r')
  7. adjectives = adj_file.readline()
  8. adj_list = adjectives.split(',')
  9. adj_file.close()
  10. verb_file = open("verbs.txt", 'r')
  11. verbs = verb_file.readline()
  12. verb_list = verbs.split(',')
  13. verb_file.close()
  14. adverb_file = open("adverbs.txt", 'r')
  15. adverbs = adverb_file.readline()
  16. adverb_list = adverbs.split(',')
  17. adverb_file.close()
  18. noun = random.choice(noun_list)
  19. adj = random.choice(adj_list)
  20. verb = random.choice(verb_list)
  21. adverb = random.choice(adverb_list)
  22. print"The", adj, noun, verb, adverb + '.'

单词文件应当是用逗号分隔的单词列表。

  1. 下面的程序会把一些数据保存在文本文件中:
  1. name = raw_input("Enter your name: ")
  2. age = raw_input("Enter your age: ")
  3. color = raw_input("Enter your favorite color: ")
  4. food = raw_input("Enter your favorite food: ")
  5. my_data = open("my_data_file.txt", 'w')
  6. my_data.write(name + "\n")
  7. my_data.write(age + "\n")
  8. my_data.write(color + "\n")
  9. my_data.write(food)
  1. 下面的程序使用 pickle 模块保存一些数据:
  1. import pickle
  2. name = raw_input("Enter your name: ")
  3. age = raw_input("Enter your age: ")
  4. color = raw_input("Enter your favorite color: ")
  5. food = raw_input("Enter your favorite food: ")
  6. my_list = [name, age, color, food]
  7. pickle_file = open("my_pickle_file.pkl", 'w')
  8. pickle.dump(my_list, pickle_file)
  9. pickle_file.close()