1、读取txt文件

     txt文件是经常需要被操作的文件类型,python提供了以下几种常见的读取txt文件的方式:

     * read():              读取整个文件

     * readline():        读取一行数据

     * readlines():       读取所有行的数据

     假设user_info.txt文件内内容如下:

user_info.txt

     zhangsan,123

     lisi,456

     wangwu,789

     首先需要将用户名和密码按行写入txt文件中,这里把用户名和密码用逗号“,”隔开。

     读取txt文件代码如下:

     txt_read.py


#-*-coding:utf-8-*-

# 读取txt文件
user_file = open('user_info.txt','r')
lines = user_file.readlines()

for line in lines:
    username = line.split(',')[0]
    password = line.split(',')[1]
    print(username,password)


2、读取csv文件

       假设现在每次要读取的是一组用户数据,这一组数据包括用户名、邮箱、年龄、性别等信息,这时再使用txt文件存放数据,读取起来就没那么方便了。对于这种类型的数据可以通过CSV文件来存放。

       创建info.csv文件,首先通过WPS表格或Excel创建表格,文件另存为CSV文件进行保存。注意不要直接修改文件的后缀名来创建CSV文件,这样创建的并非真正的csv类型的文件,如下图所示。

       info.csv

python 从txt按顺序读取每一行数据 python获取txt每一行内容_读取xml文件

         程序如下:

        csv.py

#-*-coding:utf-8-*-

# 读取csv 文件
###########################################
import csv # 导入csv 包

# 读取本地 CSV 文件
date = csv.reader(open('csv_read.csv','r'))

# 循环输出每一行信息
for user in date:
    print(user)    # 取某行数据,print(user[0])


3、读取xml文件

 有时候我们需要读取的文件不是规则的。例如,我们需要一个配置文件来配置当前自动化测试脚本的URL、浏览器、登录的用户名和密码等,这时候就可以考虑选择使用XML文件来存储这些信息。

        xml文件info.xml,可以通过新建txt改后缀为xml创建xml文件,假设info.xml文件内容为:

      

python 从txt按顺序读取每一行数据 python获取txt每一行内容_python_02

        代码如下:

        xml_read.py

#-*-coding:utf-8-*-

from xml.dom import minidom   # 导入xml的minidom模块,用来处理XML文件

# 打开xml文档
dom = minidom.parse('info.xml')   # parse用于打开一个XML文件
# 得到文档元素对象
root = dom.documentElement         # documentElement用于得到XML文件的唯一根元素

# print(root.nodeName)             # nodeName为节点名称
# print(root.nodeValue)            # nodeValue为节点的值
# print(root.nodeType)             # 节点的类型
# print(root.ELEMENT_NODE)

# 获得任意标签名
################################################################################
# tagname = root.getElementsByTagName('browser')     # getElementsByTagName()可以通过标签名获取标签,以数组形式存放
# print(tagname[0].tagName)
# tagname = root.getElementsByTagName('province')
# print(tagname[2].tagName)
# tagname = root.getElementsByTagName('city')
# print(tagname[2].tagName)
logins = root.getElementsByTagName('login')
#################################################################################

# 获得标签对应的属性值,如获取login标签的username以及password属性
#################################################################################
# 获得第一个login标签的username属性值
username = logins[0].getAttribute("username")
print(username)
# 获得第一个login标签的password属性值
password = logins[0].getAttribute("password")
print(password)
# 获得第二个login标签的username属性值
username = logins[1].getAttribute("username")
print(username)
# 获得第二个login标签的password属性值
password = logins[1].getAttribute("password")
print(password)
#################################################################################

# 获得标签对之间的数据
#################################################################################
provinces = dom.getElementsByTagName('province')
citys = dom.getElementsByTagName('city')
# 获取第二个province标签对的值
province2 = provinces[1].firstChild.data      #firstChild属性返回被选节点的第一个子节点,data表示获取该节点的数据
print(province2)
# 获取第一个city标签对的值
city1 = citys[0].firstChild.data
print(city1)
# 获取第二个city标签对的值
city2 = citys[1].firstChild.data
print(city2)
#################################################################################