1 前言
在自动化测试过程中,一般会需要用到文件的读取和写入,而不同的文件类型存储数据的格式是不同的,读取方式也是不一样的,比如txt文件读取、csv文件读取,所使用的函数是不一样的。本次先介绍这两种文件的读取方式,下次再总结一下xml文件、json文件的读取方式。
2 操作举例
2.1 读取txt文件
2.1.1 txt文件的读取
txt文件读取有几个函数,如下:
info.txt中的数据:
ty,0001,123
tp,0002,345
tt,0003,456
test_readData.py中的代码:
from selenium import webdriver
import pytest
def test():
info=open('data/info.txt','r')
values=info.readlines()
info.close()
for data in values:
name=data.split(',')[0]
print(name)
num=data.split(',')[1]
print(num)
order_num=data.split(',')[2]
print(order_num)
if __name__ == '__main__':
pytest.main(["-sq","test_readData.py"])
执行结果:
"E:\Program Files\myPytest\venv\Scripts\python.exe" "E:/Program Files/myPytest/test_case/test_readData.py"
ty
0001
123
tp
0002
345
tt
0003
456
.
1 passed in 0.04s
2.2 读取csv文件
2.2.1 csv文件的读取
csv文件读取一般采用csv.reader来读取
user.csv中的数据:
test_readData.py中的代码:
import pytest
import csv
def test():
user=open('data/user.csv','rt',encoding='utf-8')
datas=csv.reader(user)
for data in datas:
print(data)
if __name__ == '__main__':
pytest.main(["-sq","test_readData.py"])
执行结果:
"E:\Program Files\myPytest\venv\Scripts\python.exe" "E:/Program Files/myPytest/test_case/test_readData.py"
['zhangsan', '26']
['wangning', '25']
['limei', '22']
.
1 passed in 0.06s
2.2.2 读取csv文件中的字段
如果想要获取csv文件中的名称(name)字段,可以使用数组直接获取
test_readData.py代码如下:
import pytest
import csv
def test():
user=open('data/user.csv','rt',encoding='utf-8')
datas=csv.reader(user)
for data in datas:
print(data[0])
if __name__ == '__main__':
pytest.main(["-sq","test_readData.py"])
执行之后,输出的内容如下:
"E:\Program Files\myPytest\venv\Scripts\python.exe" "E:/Program Files/myPytest/test_case/test_readData.py"
zhangsan
wangning
limei
.
1 passed in 0.04s
欢迎关注「技术分享交流」公众号