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)
    

 

posted @ 2021-02-01 14:38  小仙女学Linux  阅读(72)  评论(0编辑  收藏  举报