1.文件操作
补充:1.打开文件时,如果是以读的形式打开,如果文件不存在,会报错。2.如果是以写的形式打开,如果文件不存在,会自动创建对应的文件。
1.打开文件和关闭文件的的缩写
with open(文件路径,打开方式,encoding=编码方式) as 文件对象:
文件操作相关代码
说明:打开文件,执行完文件操作相关代码后,会自动关闭打开的这个文件
with open("./file/aaa.txt","w",encoding="utf-8") as f1:
f1.write("小鲜肉")
2.二进制文件的读和写
常见的二进制文件:视频文件、音频文件、图片、压缩包等都是输入二进制文件
bytes:字节,是python中专门用来表示二进制的数据类型
注意:二进制文件不能设置文件编码方式(不能给encoding赋值)
with open("./file/aaa.jpg","rb")as f2:
picture = f2.read()
with open("./file/new.jpg","wb") as f3:
f3.write(picture)
2.json文件(特别重要)
json是一种特定格式的数据,主要用来在互联网上做数据传输。
json数据本身是文本数据,json文件的后缀是.json的文件,并且文件内容必须满足json格式的要求。
1.json格式
a.一个json对应一条数据
b.json中的数据必须是json对应的数据类型
数字类型(number):所有的数字,包含整数和小数,如,100,12.2,-20.2
字符串类型(string):用双引号括起来的数据,如:“你好”
数组(array):相当于python中的列表,如:[100,200,400]
字典(dictionary):相当于python中的字典,如{"a":1,"b":2}
布尔(bool):true和false(首字母小写)
null:相当于None,用来表示空
2.python对json的支持
python中专门提供了一个json模块,用来处理json数据
load(json文件路径)---->将满足json格式的文件的内容读出来,将内容转换成python对应的数据类型
dump(内容,json文件路径)---->将指定的内容,以json格式写入到指定json文件中
loads(json格式字符串)-->将字符串内容是json数据的字符串转换成python对应的数据类型数据
dumps(内容)---->将python数据内容,转换成json格式的字符串
import json
print(json.loads('["ab",true,12]'))
a=json.loads("[\"ab\",true,12]")
#注意,外面的括号最好用'',不然里面的”“要转义,\" \"
print((a),type(a))
#['ab', True, 12]
#['ab', True, 12] <class 'list'>
str1 = json.dumps(["a",1,true])
除了字典,元祖,列表,字符串,布尔,None,其他数据不能转换为json文件
数据本地化:使用数据的时候从本地文件中去取数据;修改完数据后使用新的数据去更新本地文件
3.异常捕获
1.异常捕获
报错---->出现异常(后面代码不执行,并且程序会结束
出现异常后,不希望程序直接奔溃,而是想要自己对这异常进行处理,就需要捕获异常。
格式1
try:
代码段1
except:
代码段2
说明:执行代码段1并且检测代码段1是否发生异常,如果发生异常,就接着代码1出现异常前的代码,执行代码段2
try:
print(3,end="")
print(a)
except:
try:
print(2,end="")
print(b)
except:
print(1,end="")
#3 2 1
格式2
try:
代码段1
except(异常类型1,异常类型2……):
代码段2
说明:捕获代码段1中出现的指定类型的异常,一个异常类型可省略括号。
格式3
try:
代码段1
except 异常类型1:
代码段2
except异常类型2:
代码段3
finally:
代码段4
finally:代码段4一定会执行。
try:
a=10
print(b)
except:
print(a)
finally:
print("kjdf")
#10
#kjdf
raise异常类型:
raise 自定义异常类型
异常类型的要求,是Exception的子类