10-8 猫和狗 : 创建两个文件cats.txt和dogs.txt, 在第一个文件中至少存储三只猫的名字, 在第二个文件中至少存储三条狗的名字。 编写一个程序, 尝试读取这些文件,
并将其内容打印到屏幕上。 将这些代码放在一个try-except 代码块中, 以便在文件不存在时捕获FileNotFound 错误, 并打印一条友好的消息。 将其中一个文件
移到另一个地方, 并确认except 代码块中的代码将正确地执行。
10-9 沉默的猫和狗 : 修改你在练习10-8中编写的except 代码块, 让程序在文件不存在时一言不发。
10-11 喜欢的数字 : 编写一个程序, 提示用户输入他喜欢的数字, 并使用json.dump() 将这个数字存储到文件中。 再编写一个程序, 从文件中读取这个值, 并打印
消息“I know your favorite number! It’s _.”。
实现上述题目的代码如下:
import json
# 10-8
# Write File
cats = []
while True:
temp_cat = input("So, what kind of cat do you like?\n\
If you finish all the input, type 'quit'.")
if temp_cat == 'quit':
break
cats.append(temp_cat)
with open('cat.txt', 'w') as file_object:
file_object.write(str(cats))
# Read File
with open('cat.txt', 'r') as cat_file:
content = cat_file.read()
print(content)
# 10-9
try:
with open('dog.txt', 'r') as dog_file:
content = dog_file.read()
print(content)
except FileNotFoundError:
print("Oh! God damn it! DOG_FILE not found! Report from exception.")
try:
with open('secret.txt', 'r') as secret_file:
print("The world is ending.")
except FileNotFoundError:
pass
# 10-11
lucky_number = int(input("Hey, can you tell me your lucky number?"))
with open('lucky_number.json', 'w') as json_file:
json.dump(lucky_number, json_file)
# Read file from json
with open('lucky_number.json', 'r') as previous_json_file:
number = json.load(previous_json_file)
print("Almighty God has known that your favorate number is " + str(number))
print("See you~")