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 json
with 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'}]