文件
在Python中,我们能方便的操作文件:
with open("test.txt") as file:
str=file.read()
print(str)
open函数可以讲指定路径的文件读入到内存中,如果open函数内只有文件名,没有详细的路径地址,则open函数会在和Python脚本同级文件夹下寻找文件。
with 关键字会自动在文件不需要访问时关闭。如果没有with 关键字,则需要手动调用close()函数来关闭文件。
-
open(path,mode)函数负责打开一个文件,带有很多参数。第一参数必须有,文件的路径和名称
mode:表明文件的打开方式- r:只读
- w:写方式打开,会覆盖以前的内容
- x: 创建的方式打开,如果文件存在会报错
- a:append,以追加的方式对文件的内容进行写入
- b:binary,二进制方式写入
- t:文本方式打开
- +:可读写
-
read(count):允许输入参数读取几个字符,如果没有制定,从当前位置读取到结尾。否则从当前位置读取制定字符数。
-
文件写入:
with open("test.txt","w") as file: file.write("Test Write")
异常
在Python中和其他语言类似,异常是使用try-except代码块处理的:
try:
尝试某种操作
except 异常类型1:
except 异常类型2:
...
else:
没有发生异常的处理
finally:
无论是否发生异常都会执行
Python系统异常类型
- NameError:访问一个不存在的变量时抛出的异常
- IndexError:超出对象索引的范围时抛出的异常
- KeyError:在字典中查找一个不存在的key抛出的异常
- ZeroDivisionError:进行数学运算时除数为0时会出现此异常
- TypeError:类型错误,通常是不通类型之间的操作会出现此异常
- SyntaxError:语法错误时会抛出此异常
- AttributeError:当访问的对象属性不存在的时候抛出的异常
使用JSON存取文件
- json.dumps():Python对象转JSON
- json.loads():json字符串转Python可读取对象
import json
student={"name":"Lidian","age":18,"Phone":18508211005}
print(type(student))
stu_json=json.dumps(student)
with open("test.txt","w") as file:
file.write(stu_json)
print("JSON对象:{0}".format(stu_json))
with open("test.txt") as file:
stu_dict=json.loads(file.read())
print(type(stu_dict))
print(stu_dict)
输出结果:
<class 'dict'>
JSON对象:{"name": "Lidian", "age": 18, "Phone": 18508211005}
<class 'dict'>
{'name': 'Lidian', 'age': 18, 'Phone': 18508211005}
程序执行完之后:test.txt文件中的内容为:
{"name": "Lidian", "age": 18, "Phone": 18508211005}