python学习笔记

一、获取文件路径
1、获取当前文件的路径
os.path.realpath–获取绝对路径
os.path.abspath–获取配对路径
os.path.realpath(os.path.abspath(os.path.abspath(file)))
os.path.split(os.path.abspath(os.path.abspath(file)))[0]
os.getcwd()
2、获取当前文件上级目录
os.path.abspath(os.path.dirname(os.path.dirname(file)))
os.path.abspath(os.path.dirname(os.getcwd()))

二、文件读取
1、读取excel用例

from xlrd import open_workbook  #调用读Excel的第三方库xlrd
class readExcel():
    def get_xls(self, xls_name, sheet_name):  # xls_name填写用例的Excel名称 sheet_name该Excel的sheet名称
        cls = []
        #获取用例文件路径
        xlsPath =os.path.join(path, "testFile", 'case', xls_name)
        file = open_workbook(xlsPath)  #打开用例excel
        sheet = file.sheet_by_name(sheet_name)  #获取打开excel的sheet
        #获取这个sheet的行数
        nrows = sheet.nrows
        for i in range(nrows):  #根据行数做循环
            if sheet.row_values(i)[0] !=u'case_name':   #如果这个Excel的这个sheet的第i行的第一列不等于case_name那么我们把这行的数据添加到cls[]
                cls.append(sheet.row_values(i))
        return cls

2、读取配置文件

config = configparser.ConfigParser()  # 调用外部的读取配置文件的方法
config.read(config_path, encoding='utf-8')
class ReadConfig():

    def get_http(self, name):
        value = config.get('HTTP', name)
        return value

    def get_email(self, name):
        value = config.get('EMAIL', name)
        return value

    def get_mysql(self, name):  # 写好,留以后备用。但是因为我们没有对数据库的操作,所以这个可以屏蔽掉
        value = config.get('DATABASE', name)
        return value

    def get_app(self, name):    #获取配置文件中的appkey,appSecret
        value = config.get('APP', name)
        return value
    def get_user(self, name):   #获取登录用户
        value = config.get('USER', name)
        return value

3、读取xml文件

import os
from lib2to3.pgen2.grammar import line

import getpathInfo
from xml.etree import ElementTree as ElementTree

path = getpathInfo.get_Path()

database = {}
# class readXml():
def get_xml():
        if len(database) == 0:
            sql_path = os.path.join(path, "testFile", "SQL.xml")
            tree = ElementTree.parse(sql_path)
            for db in tree.findall("database"):
                db_name = db.get("name")
                #print(db_name)
                table = {}
                for tb in db.getchildren():
                    table_name = tb.get("name")
                    #print(table_name)
                    sql = {}
                    for data in tb.getchildren():
                        sql_id = data.get("id")
                        #print(sql_id)
                        sql[sql_id] = data.text
                    table[table_name] = sql
                database[db_name] = table

def get_xml_dict(database_name, table_name):
        """
        get db dict by given name
        :param database_name:
        :param table_name:
        :return:
        """
        get_xml()
        database_dict = database.get(database_name).get(table_name)
        return database_dict

def get_sql(database_name, table_name, sql_id):
        """
        get sql by given name and sql_id
        :param database_name:
        :param table_name:
        :param sql_id:
        :return:
        """
        db = get_xml_dict(database_name, table_name)
        sql = db.get(sql_id)
        return sql
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值