Python二进制方式读取json文本
1、在桌面新建‘json.txt’文件,内容为jsonline格式。
2、打开Python开发工具IDLE,新建‘门钙蹲茌json.py’文件,并写代码如下:def lines(): lc = [] with open(r'C:\Users\Administrator\Desktop\json.txt','rb') as f: for eachline in f: lc.append(eachline) return lcif __name__ == '__main__': for item in lines(): print (bytes.decode(item))
3、F5运行程序,Shell打印出json文本信息
4、这是一次性读取所有内间恒溪痞容,如果文件很大的情况,出于性能考虑要分批读取内容,这样要用到yield生成器,改写lines(像粜杵泳)函数如下:def lines(): flag=True with open(r'C:\Users\Administrator\Desktop\json.txt','rb') as f: while flag: da=f.readlines(4) if da: yield da else: flag=False注意yield一定要写在with里,这样才能每次从上一次读取的位置继续读取
5、继续写程序入口函数,这里要注意readlines返回的是一个列表,要读取里面的内容,要再做一个循环来遍历,代码如下;if __name__ == '__main__': sum = '' for i in lines(): for j in i: sum = sum+bytes.decode(j) print (sum)sum才是保存的所有文本信息。
6、F5运行程序,Shell打印出json文本信息,这个利用生成器方式读取的方式经常处理较大的文件。