"""
数据本地化的过程:使用数据的时候从本地文件中去取数据;修改完数据后要使用新的数据去更新本地文件中的内容
"""
学生管理系统
1.添加学生,要求之前添加过的学生,下次执行程序的时候还存在
2.显示学生信息
"""
学生管理数据类型 --> [学生1, 学生2], {'学号1':学生1, '学号2':学生2}
"""
import json
保存所有的学生
with open('./files/students.json') as f:
all_student = json.load(f)
def add_student():
"""
添加学生
"""
while True:
name = input('请输入学生的姓名:')
age = input('请输入学生的年龄:')
tel = input('请输入学生的电弧:')
# 创建学生对应的字典
student = {'name': name, 'age': age, 'tel': tel}
# 将学生添加到容器中
all_student.append(student)
# 将新的数据更新到本地文件中
with open('./files/students.json', 'w') as f:
json.dump(all_student, f)
print('添加成功!')
print('1.继续添加')
print('2.返回上一层')
input_value = input('请选择(1-2):')
if input_value == '1':
continue
else:
return
def show_student():
for student in all_student:
print(student)
while True:
print('======================')
print('1.添加学生')
print('2.显示学生信息')
print('3.退出')
print('======================')
input_value = input('请选择(1-3):')
if input_value == '1':
add_student()
elif input_value == '2':
show_student()
else:
print('退出成功!')
break
补充:打开文件的时候是以读的方式打开,如果文件不存在会报:FileNotFoundError
打开文件的时候是以写的方式打开, 如果文件不存在会自动创建对应的文件
0.打开文件和关闭文件的缩写
with open(文件路径, 打开方式, encoding=编码方式) as 文件对象:
文件操作相关的代码
说明:打开文件,执行完文件操作相关的代码后,会自动关闭本打开的这个文件
"""
with open('./files/aaa.txt', 'w', encoding='utf-8') as f1:
f1.write('床前明月光,\n 疑是地上霜\n')
"""
1.二进制文件的读和写
常见的二进制文件: 视频文件、音频文件、图片、压缩包等都是属于二进制文件
bytes --> 字节,是python专门用来表示二进制的数据类型
注意:二进制文件不能设置文件编码方式(不能给encoding赋值)
"""
with open('./files/luffy4.jpg', 'rb') as f2:
content = f2.read()
print(type(content), content)
with open('./files/new.jpg', 'wb') as f2:
f2.write(content)
1.在程序中声明一个变量用来保存当前程序执行的次数
with open('./files/test2.json') as f:
num = json.load(f)
num += 1
with open('./files/test2.json', 'w') as f:
json.dump(num, f)
print(num)
网友评论