• 循环读文件变成二维数组


     1 import jsonpath
     2 import os
     3 import xlrd
     4 
     5 from config.setting import  log
     6 
     7 
     8 def get_value(dic, key):
     9     '''
    10     这个函数是从一个字典里面,根据key获取vlaue
    11     :param dic:传一个字典
    12     :param key:传一个
    13     :return:如果有,返回key取到value,如果key没有,返回空字符串
    14     '''
    15     result = jsonpath.jsonpath(dic, '$..%s' % key)
    16     if result:
    17         return result[0]
    18     return ''
    19 
    20 
    21 class GetTestData:
    22 
    23     @staticmethod
    24     def data_for_txt(file_name):
    25         log.debug('开始读取参数化文件%s' % file_name)
    26         if os.path.exists(file_name):
    27             with open(file_name, encoding='utf-8') as fr:
    28                 data = []
    29                 for line in fr:
    30                     if line.strip():
    31                         line_data = line.strip().split(',')
    32                         data.append(line_data)
    33             return data
    34         log.error('%s参数化文件不存在' % file_name)
    35         raise Exception('%s参数化文件不存在' % file_name)
    36 
    37     @staticmethod
    38     def data_for_excel(file_name, sheet_name=None):
    39         log.debug('开始读取参数化文件%s' % file_name)
    40         if os.path.exists(file_name):
    41             data = []
    42             book = xlrd.open_workbook(file_name)
    43             if sheet_name:
    44                 sheet = book.sheet_by_name(sheet_name)
    45             else:
    46                 sheet = book.sheet_by_index(0)
    47             for row_num in range(1, sheet.nrows):
    48                 row_data = sheet.row_values(row_num)
    49                 data.append(row_data)
    50             return data
    51         log.error('%s参数化文件不存在' % file_name)
    52         raise Exception('%s参数化文件不存在' % file_name)
    53 
    54     @staticmethod
    55     def data_for_mysql(sql):
    56         pass
    57 
    58 
    59 class Singleton:
    60     instance = None
    61 
    62     def __new__(cls, *args, **kwargs):
    63         if cls.instance:
    64             return cls.instance
    65         cls.instance = super().__new__(cls)  #
    66         return cls.instance
  • 相关阅读:
    DateTime.now()用法
    C#中静态类详述
    面向对象详述
    解决Github打不开问题
    git 提交代码流程 先暂存 在提交+备注 然后拉取代码获取最新的代码 然后再推送 git push
    常用
    样式重置
    Html 5优化
    理解js闭包
    css 倒计时 svg
  • 原文地址:https://www.cnblogs.com/jiadan/p/12016778.html
Copyright © 2020-2023  润新知