python文件,异常和json
1.打开文件
with open('digits.txt') as file_object:
##open()返回一个表示文件的对象,将这个对象存储再后面的变量中
contents=file_object.read() print(contents.rstrip) #rstrip删除空行
2.异常
try: print(5/0) except ZeroDivisionError: print("you can't divide by zero")
print("give me two numbers, and i'll divide them") print("Enter 'q' to quit") while True: first_number=input("\nfirst number:") if first_number=='q': break second_number=input("\nsecond number:") if second_number=='q': break try: answer=int(first_number)/int(second_number) except ZeroDivisionError: print("you can't divide by 0") else: print(answer) ##问题:如果用户输入的是非数字如何check?
##处理FileNotFoundError.如果文件不存在。
filename='alice.txt' try: with open(filename) as f_obj: contents=f_obj.read() except FileNotFoundError: msg="the file" + filename +"does not exist." print(msg)
##计算一本书籍或一个文档有多少字
filename='alice.txt' try: with open(filename) as f1_obj: contents=f1_obj.read() except FileNotFoundError: msg="the file" + filename +"does not exist." print(msg) else: words=contents.split() num_words=len(words) print(filename +"has about" + str(num_words)+"words.")
#json存储和传入内存
import json numbers=[2,3,5,7,11,13] filename='numbers.json' with open(filename,'w') as f_obj: json.dump(numbers,f_obj) #将数字列表存储到json文件中
import json filename='numbers.json' with open(filename) as f_obj: numbers=json.load(f_obj) print(numbers)
import json filename="username.json" try: with open(filename) as f_obj: username=json.load(f_obj) except FileNotFoundError: username=input("what is your name?") with open(filename,'w') as f_obj: ##open()返回一个表示文件的对象,将这个对象存储再后面的变量中 json.dump(username,f_obj) print("we will remember you when you come back," + username+"!") else: print("welcome back"+ username)