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文件的读取和应用的更多相关文章

  1. 通过Jquery中Ajax获取json文件数据

    1. JSON(JavaScript Object Notation): javaScript对象表示法: 是存储和交换文本信息的语法,比xml更小,更快,更易解析. 2. JSON基本书写格式 : ...

  2. 【转】python 历险记(四)— python 中常用的 json 操作

    [转]python 历险记(四)— python 中常用的 json 操作 目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编 ...

  3. Python中基本的读文件和简单数据处理

    Python中基本的读文件和简单数据处理 暂无评论 DataQuest上面的免费课程(本文是Python基础课程部分),里面有些很基础的东西(csv文件读,字符串预处理等),发在这里做记录.涉及下面六 ...

  4. 在 Node.js 中处理大 JSON 文件

    在 Node.js 中处理大 JSON 文件 场景描述 问题一: 假设现在有一个场景,有一个大的 JSON 文件,需要读取每一条数据经过处理之后输出到一个文件或生成报表数据,怎么能够流式的每次读取一条 ...

  5. 编写Java程序,在硬盘中选取一个 txt 文件,读取该文档的内容后,追加一段文字“[ 来自新华社 ]”,保存到一个新的 txt 文件内

    查看本章节 查看作业目录 需求说明: 在硬盘中选取一个 txt 文件,读取该文档的内容后,追加一段文字"[ 来自新华社 ]",保存到一个新的 txt 文件内 实现思路: 创建 Sa ...

  6. Python中异常和JSON读写数据

    异常可以防止出现一些不友好的信息返回给用户,有助于提升程序的可用性,在java中通过try ... catch ... finally来处理异常,在Python中通过try ... except .. ...

  7. 一文综述python读写csv xml json文件各种骚操作

      Python优越的灵活性和易用性使其成为最受欢迎的编程语言之一,尤其是对数据科学家而言.这在很大程度上是因为使用Python处理大型数据集是很简单的一件事情. 如今,每家科技公司都在制定数据战略. ...

  8. python接口自动化(九)--python中字典和json的区别(详解)

    简介 这篇文章的由来是由于上一篇发送post请求的接口时候,参数传字典(dict)和json的缘故,因为python中,json和dict非常类似,都是key-value的形式,为啥还要这么传参,在群 ...

  9. python中字典和json的区别

    python中,json和dict非常类似,都是key-value的形式,而且json.dict也可以非常方便的通过dumps.loads互转 定义 python中,json和dict非常类似,都是k ...

随机推荐

  1. ThreadPoolExecutor扩展

    import java.util.concurrent.*; /** * ThreadPoolExecutor扩展 */ public class ExtThreadPool { public sta ...

  2. 运行rabbitmq

    docker run -d -p 5672:5672 -p 15672:15672 --name myrabbitmq c4663bdca2cd

  3. linux的块设备层

    ll_rw_block()是块设备驱动层,向上提供按block读写块设备到某个内存地址的(是以page为目标单位)方法. bread()是块设备缓冲层,磁盘上的block用页缓存.先从这个缓存里找,找 ...

  4. Fmx在android下InputBox输入框点击Cancel取消按钮后报异常

    在网上搜索半天也没有找到相关信息,估计遇到这个问题的相当少, 解决办法: 找到FMX.Dialogs.Android.pas, 将121行中  FValues[I] := FDefaultValues ...

  5. springBoot01-helloworld-完成一个简单的RESTful API

    1.访问http://start.spring.io/ 2.选择构建工具Maven Project.Spring Boot版本 2.0.1,以及一些工程基本信息 ,最后点击Generate Proje ...

  6. springmvc把对象放到session中

    1:首先把创建的对象放到Map中, @RequestMapping("/testSession")    public String testSession(Map<Stri ...

  7. POJ 2396 Budget (上下界网络流有源可行流)

    转载: http://blog.csdn.net/axuan_k/article/details/47297395 题目描述: 现在要针对多赛区竞赛制定一个预算,该预算是一个行代表不同种类支出.列代表 ...

  8. JS中数据结构之字典

    字典是一种以键 - 值对形式存储数据的数据结构 通过数组实现字典 function Dictionary() { this.add = add; this.datastore = new Array( ...

  9. 【LeetCode 57】插入区间

    题目链接 [题解] 这题要分四种情况. 第一种.区间在所有区间的前面. 第二种.区间在所有区间的后面. 第三种.区间在某两个区间之间但是没有交集. 第四种.区间和某个区间产生了相交. 对于第四种枚举第 ...

  10. python常用安装

    pip install CalledProcessErrorpip install Popenpip install runpip install requests