Python中yaml和json文件的读取和应用
Python对yaml和json文件的读取:
yaml文件读取:
首先创建一个yaml文件test.yaml
import yaml #引入包
f=open(path) #建立Python的文件对象f, 打开yaml文件到文件对象f;注:这一操作在打开所有第三方文件格式的时候都要做,不一定是yaml文件
test=yaml.load(f) #通过yaml模块中的load函数,将yaml 数据以Python中字典的形式加载进来
注:path是test.yaml的文件路径,可以通过 path= os.path.dirname(os.path.realpath(_file_))+"test.yaml"的方式获取,如果py文件和yaml文件在同一个文件夹下,可以直接用'test.yaml'
然后字典test中的数据就可以灵活运用了
json文件读取:
json文件的读取方式和处理方式和yaml文件相同
import json
f=open(path)
test=json.load(f)
一个简单栗子:
# coding: UTF-8
import yaml
import json f= open('test.yaml')
test_f=yaml.load(f)
print f
print test_f g=open('test.json')
test_g=json.load(g)
print g
print test_g print type(test_f)
print type(test_g)
输出
<open file 'test.yaml', mode 'r' at 0x100c2b810>
{'Content-Type': 'application/x-www-form-urlencoded'}
<open file 'test.json', mode 'r' at 0x100c2b8a0>
{u'Content-Type': u'application/x-www-form-urlencoded'}
<type 'dict'>
<type 'dict'>
从以上的小栗子可以看出,yaml 文件和json文件的格式输出虽然都是字典,但还是有小区别的,这就带来一些影响
json的输出带u:也就是unicode的格式标志,而Python的格式一般会在文件开头定义成UTF-8
这就导致对于json文件,解析时有时会出现错误,而接口测试的接口响应数据就是json格式,所以在出来接口响应数据的py文件中,要加入以下两句:
import sys
#设置默认解码格式,如果不加这句请求的返回值有的是Unicode,logging输出时会报解码错误
reload(sys)
sys.setdefaultencoding('utf-8')
而yaml 文件一般用做用例,来记录请求参数
yaml文件与json文件的区别
yaml文件书写格式:
Testcase_name:test
Method: POST
Testcase:
- ID: 1
Header:
Content-Type: application/x-www-form-urlencoded
x-access-token: ""
Data:
name: "aa"
age:"bb"
Result:
resultcode: 0
resultmsg: ""
yaml输出格式:
{
'Method': 'POST',
'Testcase_name': 'test'
'Testcase':
[
{'Header':
{'x-access-token': '',
'Content-Type': 'application/x-www-form-urlencoded'},
'Data': {'age': 'bb',
'name': 'aa'},
'ID': 1,
'Result':
{'resultcode': 0,
'resultmsg': ''}
}
],
}
json文件书写格式:
{
"Content-Type": "application/x-www-form-urlencoded"
}
补充:python文件有自带的读取函数
读取方式:
f=open('test_try.yaml')
test=f.read()
这种方式不用引用模块,但是test的类型是字符串
Python中yaml和json文件的读取和应用的更多相关文章
- 通过Jquery中Ajax获取json文件数据
1. JSON(JavaScript Object Notation): javaScript对象表示法: 是存储和交换文本信息的语法,比xml更小,更快,更易解析. 2. JSON基本书写格式 : ...
- 【转】python 历险记(四)— python 中常用的 json 操作
[转]python 历险记(四)— python 中常用的 json 操作 目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编 ...
- Python中基本的读文件和简单数据处理
Python中基本的读文件和简单数据处理 暂无评论 DataQuest上面的免费课程(本文是Python基础课程部分),里面有些很基础的东西(csv文件读,字符串预处理等),发在这里做记录.涉及下面六 ...
- 在 Node.js 中处理大 JSON 文件
在 Node.js 中处理大 JSON 文件 场景描述 问题一: 假设现在有一个场景,有一个大的 JSON 文件,需要读取每一条数据经过处理之后输出到一个文件或生成报表数据,怎么能够流式的每次读取一条 ...
- 编写Java程序,在硬盘中选取一个 txt 文件,读取该文档的内容后,追加一段文字“[ 来自新华社 ]”,保存到一个新的 txt 文件内
查看本章节 查看作业目录 需求说明: 在硬盘中选取一个 txt 文件,读取该文档的内容后,追加一段文字"[ 来自新华社 ]",保存到一个新的 txt 文件内 实现思路: 创建 Sa ...
- Python中异常和JSON读写数据
异常可以防止出现一些不友好的信息返回给用户,有助于提升程序的可用性,在java中通过try ... catch ... finally来处理异常,在Python中通过try ... except .. ...
- 一文综述python读写csv xml json文件各种骚操作
Python优越的灵活性和易用性使其成为最受欢迎的编程语言之一,尤其是对数据科学家而言.这在很大程度上是因为使用Python处理大型数据集是很简单的一件事情. 如今,每家科技公司都在制定数据战略. ...
- python接口自动化(九)--python中字典和json的区别(详解)
简介 这篇文章的由来是由于上一篇发送post请求的接口时候,参数传字典(dict)和json的缘故,因为python中,json和dict非常类似,都是key-value的形式,为啥还要这么传参,在群 ...
- python中字典和json的区别
python中,json和dict非常类似,都是key-value的形式,而且json.dict也可以非常方便的通过dumps.loads互转 定义 python中,json和dict非常类似,都是k ...
随机推荐
- cmd退出python
cmd中如何退出Python (1)在命令行上输入exit() (2)在命令行上输入quit() (3)ctrl+Z 然后回车
- 【LeetCode 73】矩阵置零
题目链接 [题解] 如果a[i][j]==0. 就把第i行的第一个数字置为0 然后把第j列的第一个数字置为0 最后再处理下每行第一个为0的行.每列第一个为0的列. (第一行和第一列都得用同一个位置处理 ...
- 云平台(cloud platforms)
云平台:允许开发者们或是将写好的程序放在“云”里运行,或是使用“云”里提供的服务,或二者皆是的服务 转向云计算(cloud computing),是业界将要面临的一个重大改变.各种云平台(cloud ...
- @encode关键字
@encode() 为了更好的互操作性,Objective-C 的数据类型,甚至自定义类型.函数或方法的元类型,都可以使用 ASCII 编码.@encode(aType) 可以返回该类型的 C 字符串 ...
- ExportOptions.plis是什么?
参考: 具体每个字段的说明,参考: https://group.cnblogs.com/topic/80752.html 为什么自动化打包时,需要用到ExportOptions.plis文件,参考: ...
- jmeter 自动生成测试报告命令
环境要求 1:jmeter3.0版本之后开始支持动态生成测试报表 2:jdk版本1.7以上 3:需要jmx脚本文件 基本操作 1:在你的脚本文件路径下,执行cmd命令:jmeter -n -t tes ...
- 不同字符串,HashCode可能相同
不同的字符串,hashcode可能相同. 先看例子: @Test public void test6(){ System.out.println("ABCDEa123abc".ha ...
- git开发实战:问题解决
git作为一个高效的开发协作工具,其版本管理和分支管理是其高效管理代码的体现.但是我们在平时开发中,往往要一边修着bug一边做着新功能,这样有可能就会遇到以下几种场景 1.改完bug忘记切换分支了,代 ...
- linux composer 安装与应用
linux下composer安装与简单应用-------------------------------------安装------------------------------------//下载 ...
- 2019PhpStrom注册码(破解)+汉化(中文)
PhpStrom破解使用 IDEA激活码: https://app.yinxiang.com/fx/bd2158ab-fea3-4382-966f-eaf54f5a4de7 phpStorm使用说明 ...