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工具 - 读取文件的部分指定内容并输出到外置窗口
一.使用场景 某些配置文件里有一些特定的字符,而这些字符恰巧需要我们采集出来,然后输出到另外一个窗口做展示时,可以使用该工具. 本例的演示则提取配置文件中的[姓名:黄蓉 女 九阴真经.姓名:郭靖 男 ...
随机推荐
- 用gdb+nm调试php c extension程序
.so写好了是给php脚本调用的,如果php脚本执行崩掉了,.so也只能在进程中饮恨而终,这时候php脚本调试经常用的echo, print_r, var_dump都派不上用场了.即使能打印一点儿错误 ...
- BeautifulSoup练习
html1="""<!DOCTYPE html><html lang="en" xmlns="http://www.w3. ...
- laravel实现多对多的分析
在实际开发中多对多的开发还是比较常见的 1.1首先由migrate来创建表(文章表) 1.2同理创建标签表 1.3这是 我会的到如下结果: 2.1在数据迁移表contents中添加几个字段 publi ...
- Django框架 之 Pagination分页实现
Django框架 之 Pagination分页实现 浏览目录 自定义分页 Django内置分页 一.自定义分页 1.基础版自定义分页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
- Entity Framework在不同数据库下的配置
http://blog.csdn.net/weiky626/article/details/17068593 http://blog.csdn.net/niewq/article/details/41 ...
- 安装sql server 2008重启失败
sql server2008安装时提示重启计算机失败怎么办 安装SQL Server 2008时,经常会遇到这样一个问题,软件提示“重启计算机失败”,如果忽略的话,会给后面的安装带来很大的麻烦,这 ...
- su 和sudo su 的区别
su "user" 执行该命令,需要输入password,它是"user"中定义的用户的password,即,要变换成的用户的password.(如果已经用ro ...
- ASP.NET MVC 3 and the @helper syntax within Razor
Friday, May 13, 2011 ASP.NET MVC 3 supports a new view-engine option called “Razor” (in addition to ...
- 【Head First Java 读书笔记】(一)基本概念
Java的工作方式 你要做的事情就是会编写源代码 Java的程序结构 类存于源文件里面 方法存在类中 语句存于方法中 剖析类 当Java虚拟机启动执行时,它会寻找你在命令列中所指定的类,然后它会锁定像 ...
- txt文本怎么去除重复项
txt文本怎么去除重复项?做网络推广的朋友经常会遇到这样的问题,txt文本文件里面有许多人名或者电话号码用来发送邮件或者短信,通常有许多是重复的,下面我来介绍两个方法来去除重复项,以人名为范本讲解. ...