赞
踩
目录
文件对象.readline() #一次读取一行的内容,返回读取到的内容
read() 和readline() 如果读到文件末尾,返回的都是空字符串
返回每一行数据
- with open('a.txt', encoding='utf-8') as f:
- while True:
- buf = f.readline() # 文件读完了,返回空字符串
- if buf:
- print(buf, end='')
- else:
- break
- json文件的本质也是文本文件,就可以直接使用read和write去进行操作;
- json文件比较特殊,比较像python中的字典和列表;
- json文件使用比较频繁,按照read和write的操作比较麻烦,专门的方法来操作json,可以直接得到python中的列表和字典.
- json文件是一种基于文本,独立于语言的轻量级数据交换格式.
--基于文本的文本文件,不包含图片,视频等
--独立于语言,不是某一种语言特有的,python,Java,C++...
--轻量级,相同的数据量,json文件占用的文件大小相对较小
--数据交换格式,后端服务器和前端页面交换数据使用的格式- 在自动化测试中经常用来存放测试数据,文件后缀名为.json
- json中的数据类型;
--对象{}----->Python字典
--数组[]----->Python列表
--字符串,必须使用双引号----->str
--数字类型----->int,float
--bool类型(true false)----->True False
--空值 null ----->None- json文件,是一个对象或者是数组,对象和数组可以相互嵌套;
- json中的对象,是由键值对组成的,键必须是字符串类型;
- json中的数据直接使用都好隔开,最后一个数据后边不能加逗号;
- json文件的后缀是.json
- 可以直接使用read去读,但是想要取到数据很麻烦;
- 使用专门的方法去读:
--1.导包 import json
--2.json.load(文件对象)----->得到的是列表或者字典
- import json
-
- with open("info.json", encoding="utf-8") as f:
- buf = json.load(f)
- print(buf)
- print(buf.get("name"))
- print(buf.get('adress').get('city'))
将python中列表或者字典转换为json文件
导包
使用json.dump(python中数据,文件对象)
- import json
-
- info = {'name': '小明', 'age': 18}
-
- with open('info3.josn', 'w', encoding='utf-8') as f:
- json.dump(info, f, ensure_ascii=False, indent=4) # ensure_ascii=False直接显示中文,indent=4代表4个缩进
- 程序在运行时,如果python解释器遇到一个错误,则会停止程序的执行,并且提示一些错误信息,这就是异常;
- 程序停止执行并且提示错误信息这个动作,通常称之为:抛出(raise)异常.
- 程序代码在执行的时候,如果遇到异常,程序就会终止,不会继续执行;
- 需求:程序遇到异常之后,不会结束,可以继续执行;
- 实现需求:就需要使用异常捕获.
try:
可能发生异常的代码
except: #可以捕获任意类型的异常
发生了异常后执行的代码
- # 1.获取用户从键盘输入的数据
- num = input('请输入数字:')
- try:
- # 2.转换数据类型为整数
- num = int(num)
- # 3.数据转换类型正确时,输出数据内容
- print(num)
- except:
- # 4.数据转换类型错误时,提示输入正确数据
- print('请输入正确的数字')
发生的异常可能存在多种,针对不同类型的异常,解决处理的方案不一样
try:
可能发⽣异常的代码
except 异常类型1:
发生异常类型1,执⾏的代码
except 异常类型2:
发生异常类型2,执⾏的代码
except .....:
pass
- try:
- num = int(input('请输入一个整数数字:'))
- num1 = 8 / num
- print(num1)
- except ValueError:
- print('输入的内容非整数,请重新输入')
- except ZeroDivisionError:
- print('不能输出数字0,请重新输入')
try:
可能发生异常的代码
except Exception as 变量: #Exception常见异常类的父类,变量 异常对象,print()可以打印异常信息
发生异常执行的代码
- try:
- num = int(input('请输入一个整数数字:'))
- num1 = 8 / num
- print(num1)
- except Exception as e:
- # print('输入的内容非整数,请重新输入')
- print(f'发生了异常,{e}')
try:
可能发生异常的代码
except 异常类型:
发生了指定类型的异常执行的代码except Exception as e:
发生了其他类型的异常执行的代码
else:
没有发生异常,会执行的代码
finally:
不管有没有发生异常,都会执行的代码
- # 1.获取用户输入的数字
- num = input('请输入数字:')
- # 2.判断获取的数字是否是整数
- if num.isdigit():
- # 如果是True,表示是整数
- # 类型转换
- num = int(num)
- # 4.如果是整数,则进一步判断是奇数还是偶数
- if num % 2 == 0:
- print('偶数')
- else:
- print('奇数')
- else:
- print('输入错误,请输入整数')
-
- # 5.最终提示:程序运行借宿
- print('程序运行结束')
- 异常传递是python中已经实现好的功能,不需要我们写代码实现;
- 异常传递是指,在函数的嵌套调用中,如果发生了异常,没有进行捕获,会将这个异常传递到函数调用的地方,直到被捕获为止,如果一直没有捕获,才会报错,终止执行,
- 在执行代码的过程中,之所以会发生异常,终止代码执行,是因为代码执行遇到了raise关键字;
- raise关键字的作用,就是来抛出异常,让代码终止执行;
- 应用场景:自己书写代码模块,让别人使用,为了让别人按照你的规定使用你的代码,你就可以在他不满足你条件的情况下,使用raise抛出异常.
- def input_password():
- pwd = input('请输入密码:')
- if len(pwd) < 8:
- # raise异常对象
- raise Exception('密码长度不足8位')
- else:
- return pwd
-
-
- try:
- wd = input_password()
- print(f'获取的密码是:{wd}')
- except Exception as e:
- print(e)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。