1.文件操作打开关闭缩写
with open() 打开文件缩写
打开文件时,以'r'/'rb'读的形式打开,如果文件不存在会报错;以写'w'/'a'的形式打开,文件不存在的情况下会创建对应文件
with open(文件路径,打开方式,encoding=编码方式)as 文件对象:
文件操作代码
with open('./files/testing.txt') as f:
f.write('how are u?\nfine,thank you.\n')
说明:这种操作,打开并执行文件后会自动关闭该文件
编码方式只有在文本文件时才用
2.二进制文件的读写
常见二进制文件:视频文件/音频文件/图片/压缩包等
注意:二进制文件读写不能设置文本编码方式(不能给encoding赋值)
bytes-->字节,是python专门用来表示二进制的数据类型
===============================================================
json文件
json是一种特定格式的数据,主要用来在互联网上做文本数据传输。
json数据本身是文本数据,json文件就是后缀是.json的文件,文件内容需满足json格式要求
1.json格式
- 一个json对应一条数据
-
json中的数据必须是json对应的数据类型:
数字类型(number)-->所有的数字,包含整数和小数。
字符串类型(string)-->只能用双引号""括起来的数据。
数组(array)-->相当于python中的列表,[1,3,4,"3d"]
字典(dictionary)-->相当于python中的字典
布尔-->true和false(首字母是小写不能大写)
null-->相当于None,用来表示空
同理,除了int/float/string/list/dict/bool/None,其他数据无法转为json文件
2.python对json的支持
python中专门提供了一个json模块,用来处理json数据
import json
json.load(json文件对象)-->将json文件对象内容读出来,并且将内容转换成python对应的数据类型。要求文件内容必须是json格式数据
json.dump(内容,json文件路径)-->将指定内容以json格式写入到json文件中
loads(json格式字符串)-->将字符串内容是json数据的字符串转换成python对应的数据类型
dumps(内容)-->将指定内容转化成json格式的字符串
import json
content= json.loads('"abc"')
content2=json.loads('234')
print(content,type(content),content2,type(content2))
abc <class 'str'> 234 <class 'int'>
python转json
3.dumps与dump
dumps(内容)-->内容是python数据,返回值是一个字符串,且字符串内容是满足json格式的
注意:集合不能转化为json数据
import json
str1=json.dumps([2,4,4])
print(str1,type(str1))
[2, 4, 4] <class 'str'>
dump(内容,文件对象)-->将内容以json格式写入文件中
#学生管理系统:添加学生,要求之前添加过的学生,下次执行程序的时候还在;显示学生信息
import json
with open('./files/student.json')as f:
all_student=json.load(f)
def add_students():
while True:
global all_student
name=input('请输入名字:')
age=input('请输入年龄:')
tel=input('请输入电话号码:')
student={'name':name,'age':age,'tel':tel}
all_student.append(student)
with open('./files/student.json','w')as f:
json.dump(all_student,f)
print('添加成功!')
print('1.继续添加')
print('2.返回上一层')
value=input('请选择1-2')
if value==1:
continue
else:
return
def show_students():
for student in all_student:
print(student)
while True:
print('1.添加学生信息')
print('2.查看学生信息')
print('3.退出')
value2=input('请选择1-3:')
if value2=='1':
add_students()
if value2=='2':
show_students()
else:
print('退出成功!')
break
数据本地化的过程:
使用数据的时候从本地文件中去取数据,修改完数据后将新数据更新到本地文件中。
异常捕获
报错就是出现异常
出现异常后,不希望程序直接崩溃,而是想要自己对异常进行处理,就需要捕获异常。
-
格式1:(可以捕获代码段1中出现的所有异常。finally语句可不出现,出现后try后代码是否出现异常及有无捕获代码,finally后代码段都会执行)
try:
需要捕获异常的代码段1
except:
出现异常后会执行的代码段2
finally:
总会执行的代码段3 -
格式2:(捕获指定异常类型)
try:
需要捕获异常的代码段1
except 异常类型:
出现异常后会执行的代码段2
finally:
总会执行的代码段3 -
格式3:(捕获括号中指定的所有异常类型)
try:
需要捕获异常的代码段1
except (异常类型1,异常类型2):
出现异常后会执行的代码段2
finally:
总会执行的代码段3 -
格式4:
try:
需要捕获异常的代码段1
except 异常类型1:
出现异常后会执行的代码段2
except 异常类型2:
出现异常后会执行的代码段3
……
finally:
总会执行的代码段3
抛出异常
raise 异常类型
网友评论