2018-10-15文件操作

2018-10-16  本文已影响0人  叶叶阿姨

"""
数据本地化的过程:使用数据的时候从本地文件中去取数据;修改完数据后要使用新的数据去更新本地文件中的内容
"""

学生管理系统

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)

上一篇 下一篇

猜你喜欢

热点阅读