python之读取文件的测试数据
假设我们有一个叫testdata.txt的文件,现在在这个文件里面有测试数据,我们怎么利用前2小章学习的知识,读取测试数据呢?
测试数据如下:
url:https://www.cnblogs.com/wlyhy/,e-mail:wurz529@foxmail.com,username:11111111
url:https://www.baidu.com/,e-mail:wurz529@163.com,usernamfore:22222222.
博主刚刚试了一下,刚接触python遇到这个问题挺烧脑的。建议从问题入手,问题说要读取测试数据。我们在测试数据中看到,都是xxx:xxxxxx的形式,是不是非常像python字典中的key:value对应模式。如果测试数据只有一行,那我们用字典完全可以。如果测试数据有多行,只用一个字典的话,key会重复,倒是覆盖问题,要解决可以采用列表。最后的输出格式就是[{},{},.....{}]这种格式。因此需要定义list,以及dict.既然输出格式确定了,那么怎么把测试数据放到这个格式呢?以第一行来看,这是一长串字符串。我们需要的元素中间以","分隔,那么想办法将","分割出去,就是字符串的split方法,split(","),通过split方法得到的是列表,这样子,我们的3个key:value就被存在列表中,形式如下["url:https://www.cnblogs.com/wlyhy/", "e-mail:wurz529@foxmail.com", "username:11111111"]。我们再以其中一个来看,":"前面是我们需要的key,":"后面则是我们需要的value,我们再次split切割,得到["url","xxxx"]这样子的格式。只差最后一步就到字典了,就是dict[list[0]] = list[1],就可以得到{"url":"xxxxxx"}了。至于一行中其他的,可以同样方法得到。所有行的字典都有了之后,通过list.append方法,加入这个大的list就行了。
实现如下:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time :2018/11/29 15:07
# @Author :Yosef
# @Email :wurz529@foxmail.com
# @File: :class31.py
# @Software :PyCharm Community Edition def read_file(filename):
file = open(filename,"r+")
list_1=[]
for items in file.readlines():
dict_1={}
for item in items.strip("\n").split(","): # 去除首尾空格,然后切割中间“,”得到list
dict_1[item.split(":",1)[0]]=item.split(":",1)[1] # 原型:dict[key]=value and list.split["",](得到list)
list_1.append(dict_1)
print(list_1)
return list_1 read_file("testdata.txt")
结果:

python之读取文件的测试数据的更多相关文章
- python在读取文件时出现 'gbk' codec can't decode byte 0x89 in position 68: illegal multibyte sequence
python在读取文件时出现“UnicodeDecodeError:'gbk' codec can't decode byte 0x89 in position 68: illegal multiby ...
- [Head First Python]4.读取文件datafile.txt, 去除两边空格, 存储到列表,从列表格式化(nester.py)后输出到文件man.out,other.out
datafile.txt #文件 Man: this is the right room for an argument. Other Man: I've told you once. Man: N ...
- python中读取文件数据时要注意文件路径
我们在用python进行数据处理时往往需要将文件中的数据取出来做一些处理,这时我们应该注意数据文件的路径.文件路径不对,回报如下错误: FileNotFoundError: File b'..Adve ...
- python中读取文件的read、readline、readlines方法区别
#读取文件所有内容,返回字符串对象,python默认以文本方式读取文件,遇到结束符读取结束. fr = open('lenses.txt')read = fr.read()print(type(rea ...
- python 顺序读取文件夹下面的文件(自定义排序方式)
我们在读取文件夹下面的文件时,有时是希望能够按照相应的顺序来读取,但是 file_lists=os.listdir()返回的文件名不一定是顺序的,也就是说结果是不固定的.就比如读取下面这些文件,希望能 ...
- python 逐行读取文件的三种方法
方法一: 复制代码代码如下: f = open("foo.txt") # 返回一个文件对象 line = f.readline() ...
- Python逐行读取文件内容
更详细的文件按行读取操作可以参考:http://www.cnblogs.com/xuxn/archive/2011/07/27/read-a-file-with-python.html 一行一行得从文 ...
- Python中读取文件输出时在头部输出\ufeff
问题出现: 在我测试python中的文本文件的读取与写入时,用到了字典对象来存储读出的数据. std_data = dict() with open(sys.argv[1], encoding='UT ...
- python工具 - 读取文件的部分指定内容并输出到外置窗口
一.使用场景 某些配置文件里有一些特定的字符,而这些字符恰巧需要我们采集出来,然后输出到另外一个窗口做展示时,可以使用该工具. 本例的演示则提取配置文件中的[姓名:黄蓉 女 九阴真经.姓名:郭靖 男 ...
随机推荐
- ROS naviagtion analysis: costmap_2d--CostmapLayer
博客转自:https://blog.csdn.net/u013158492/article/details/50493220 这个类是为ObstacleLayer StaticLayer voxelL ...
- ROS导航包的介绍
博客转载自:https://blog.csdn.net/handsome_for_kill/article/details/53130707#t3 ROS导航包的应用 利用ROS Navigation ...
- 运用alarm系统调用检测网络是否断开
比如对于一个Server/Client程序,Client会每隔一定时间(比如TIME_OUT_CLIENT)会向Server发送“CheckConnect”信息,Server收到这个信息会调用回调函数 ...
- CF 961G Partitions
推不动式子 我们考虑每一个$w_i$对答案的贡献,因为题目中定义集合的价值为$W(S) = \left | S \right |\sum_{x \in S}w_x$,这个系数$\left | S \r ...
- openvswitch安装
安装前准备软件包及版本 Gcc pkg-config autoconf automake m4 python2.X 下载OVS软件包 http://openvswitch.org/releases/o ...
- 手打的table
突然觉得,如果我不上传源码和写篇博客,对不起花在这个破网页2个小时的时间,完全手打,浏览器调效果. 源码如下: a.html: <!DOCTYPE html PUBLIC "-//W3 ...
- create-react-app设置proxy反向代理不起作用
在CRA2.X升级以后对proxy的设置做了修改,引用官方升级文档: Object proxy configuration is superseded by src/setupProxy.js To ...
- IdentityServer4实现单点登录统一认证
什么是单点登录统一认证:假如某公司旗下有10个网站(比如各种管理网站:人事系统啊,财务系统啊,业绩系统啊等),我是该公司一管理员或者用户,按照传统网站模式是这样:我打开A网站 输入账号密码 然后进入到 ...
- 大数据技术之_11_HBase学习_01_HBase 简介+HBase 安装+HBase Shell 操作+HBase 数据结构+HBase 原理
第1章 HBase 简介1.1 什么是 HBase1.2 HBase 特点1.3 HBase 架构1.3 HBase 中的角色1.3.1 HMaster1.3.2 RegionServer1.3.3 ...
- jenkins html报告不显示样式
解决办法: 1.安装Startup Trigger,在jenkins节点启动时触发构建: 2.安装Groovy,直接运行Groovy代码: 3.新建一个Job,用于jenkins启动时执行配置命令: ...