1. 实现目标

在测试与开发中,经常需要对文件进行各种读取操作。这里介绍针对txt、csv、xml、json文件的读取。

2. 读取TXT文件

2.1 user_info.txt文件

:123
user:
error:error
admin:admin123eee?

2.2 读取txt文件.py

#line[:-1]其实就是去除了这行文本的最后一个字符(换行符)后剩下的部分。
#读取文件
with(open("./data_file/user_info.txt","r")) as user_file:data = user_file.readlines()#格式化处理
users=[]
for line in data:user = line[:-1].split(":")users.append(user)#打印users二维数组
print(users)

2.3 实现结果

3. 读取csv文件

3.1 user_info.csv

用户名,密码,断言
,123,请输入账号
user,,请输入密码
error,error,账号或密码错误
admin,admin123,admin您好
guest,guest123,guest您好

这里要注意,csv文件本身打开是utf-8的,而不是乱码

3.2 读取csv文件.py

import csv
import codecs
from itertools import islice# 读取本地csv文件
data = csv.reader(codecs.open("./data_file/user_info.csv", 'r', "utf_8_sig", errors="ignore"))
# 存放用户数据
users = []
# 循环输出每行信息
for line in islice(data, 1, None):users.append(line)# 打印
print(users)

这里,针对乱码问题,可以在open方法里添加“,errors="ignore”,忽略乱码错误!

3.3 实现结果

[['', '123', '请输入账号'], ['user', '', '请输入密码'], ['error', 'error', '账号或密码错误'], ['admin', 'admin123', 'admin您好'], ['guest', 'guest123', 'guest您好']]

4. 读取xml文件

4.1 config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<info><platforms><platform>Windows</platform><platform>Linux</platform><platform>macOS</platform></platforms><browsers><browser>Firefox</browser><browser>Chrome</browser><browser>Edge</browser></browsers><url>http://www.baidu.com</url><login username="admin" password="123456"></login><login username="guest" password="guest12"></login>
</info>

4.2 读取xml文件.py

from xml.dom.minidom import parse# 打开XML文件
dom = parse("./data_file/config.xml")# 得到文档元素对象
root = dom.documentElement# 获取一组标签
tag_name = root.getElementsByTagName('platform')
print(tag_name[0].tagName)# 获取属性名
login_tag = root.getElementsByTagName('login')
username = login_tag[0].getAttribute('username')
print(username)
password = login_tag[0].getAttribute('password')
print(password)#获取标签之间的数据
msg = root.getElementsByTagName("browser")
prs = msg[0].firstChild.data
print(prs)
print(msg[1].firstChild.data)
print(msg[2].firstChild.data)

这里介绍了对标签、标签属性、标签之间数据的读取,可以解决所有xml文件的读取数据问题。

4.3 实现结果

5. 读取JSON文件

5.1 user_info.json

[{"username": "","password": ""},{"username": "","password": "123"},{"username": "user","password": ""},{"username": "error","password": "error"},{"username": "admin","password": "admin123"},{"username": "xushan","password": "shanxu"}
]

5.2 读取json文件.py

import jsonwith open("./data_file/user_info.json", "r") as f:data = f.read()user_list = json.loads(data)
print(user_list)

5.3 实现结果

[{'username': '', 'password': ''}, {'username': '', 'password': '123'}, {'username': 'user', 'password': ''}, {'username': 'error', 'password': 'error'}, {'username': 'admin', 'password': 'admin123'}, {'username': 'xushan', 'password': 'shanxu'}]

Selenium3自动化测试——19.读取数据文件相关推荐

  1. pythonselenium实战 excel读取和写入_Python3.6+selenium2.53.6自动化测试_读取excel文件的方法...

    环境: 编辑工具: 浏览器: 安装xlrd 安装DDT 一 分析 1 目录结构 2 导入包 二 代码 import xlrd class ExcelUtil(): def __init__(self, ...

  2. mysql c++ 存数组,c++读取数据文件到数组的实例

    在刷题过程中,遇到的读取文件问题,只是记录自己的问题,新手~ 如果在一个txt文件当中有以下数据 1 2 3 4 5 6 7 8 9 10 1.如果我们只是简单将这些数据保存在一个数组中: #incl ...

  3. MATLAB笔记:打开数据文件的三种方法+读取数据文件的两种方法+保存数据文件的两种方法

    1.打开数据文件 1.1 直接打开文件 PATHNAME = 'C:\Users\s55\Desktop\dat'; FILENAME = '\data_1.dat'; str0=strcat(PAT ...

  4. Python四种读取数据文件的方法

    下面介绍读取数据文件的方法: 首先说明下数据文件的格式 第一行为列名,第一列为编号 第一种:手写读取数据 f = file(路径名)x = []y = []for i, d in enumerate( ...

  5. C、C++读取数据文件DAT(二进制文件)

    系列文章目录 本文内容是收集所有c.c++读写二进制的方法,持续更新 第一章:介绍读写文件的所用到的头文件.基本函数,以及代码实现. 第二章:更新第二种方法. 文章目录 系列文章目录 前言 一.读取数 ...

  6. python读取数据文件夹_使用python依次读取文件中的所有csv格式的数据

    使用python依次读取文件中的所有csv格式的数据: #coding=gbk import pandas as pd import os path = r'D:\ml_datasets\PHM\c6 ...

  7. python读文件路径-在Python中按路径读取数据文件的几种方式

    我们知道,写Python代码的时候,如果一个包(package)里面的一个模块要导入另一个模块,那么我们可以使用相对导入: 假设当前代码结构如下图所示: img 其中test_1是一个包,在util. ...

  8. python读取数据文件-python多种读写excel等数据文件的方式(收藏篇)

    前言: python处理数据文件的途径有很多种,可以操作的文件类型主要包括文本文件(csv.txt.json等).excel文件.数据库文件.api等其他数据文件.下面小编整理下python到底有哪些 ...

  9. SAS 读取数据文件

    每次读取数据时需要告诉SAS3件事: 1:数据存在哪里? 2:数据的形式 3:创建的数据集的类型(永久/临时) 1 读取SAS数据集 DATA temp; /*temp 为创建的数据集名称*/ INF ...

最新文章

  1. 【codeforces】【比赛题解】#940 CF Round #466 (Div. 2)
  2. DL之SSD:基于tensorflow利用SSD算法实现目标检测(21类)
  3. CentOS 初体验二十五:redis常用命令:sorted set
  4. 如何在线将pdf转换成ppt格式
  5. TensorFlow Lite 正式发布,谷歌移动端深度学习框架
  6. python编写购物程序_Python实现购物程序思路及代码
  7. Cheatsheet: 2010 04.26 ~ 04.30
  8. 操作系统复习笔记 06 CPU Scheduling CPU调度
  9. java -jar命令引导启动Springboot项目的那点事
  10. Spark源码分析之Worker启动通信机制
  11. python读取xml编码gb2312_【转】python XML 操作总结(创建、保存和删除,支持utf-8和gb2312)...
  12. html头部协议,TCP/IP协议头部结构体
  13. 使用robo3t操作mongodb以及文档的插入、更新、删除以及查询操作
  14. 爬虫--初体验(获取二级网站)
  15. 【Machine Learning】【Andrew Ng】- Quiz2(Week 9)
  16. 想做吃鸡游戏么兄弟?98K轻量物理了解一下
  17. 微信小程序生命周期笔记
  18. 计算机英语性考任务答案,国开电大理工英语1单元自测2形考任务答案
  19. 基于tkinter+win32+pynput实现python的QQ微信刷屏(比某些文章稍微高级一点)
  20. QQ微信可以登录但打不开网页

热门文章

  1. 皮一皮:这是什么家族企业?
  2. 阿里面试:索引失效的场景有哪些?索引何时会失效?
  3. 工程师姓什么很重要!别再叫我“X工”!!!
  4. 皮一皮:绿灯侠是怎么诞生的...
  5. 成为阿里 P7 真的难么?
  6. 自己动手,丰衣足食:从零开始写个 IDEA 插件,要啥功能就做啥!
  7. 不懂 Zookeeper?没关系,看这篇就够了
  8. Spring Cloud Alibaba即将正式毕业,Netflix之后新生力量值得期待!
  9. linux 条件语句关键词,Linux中条件语句
  10. cv::cuda::split 使用