#!/usr/bin/env python
# -*- coding: utf-8 -*-
#coding=utf-8
import requests
import json
import unittest
from test_xlsximport ExcelData
#url = 'http://172.16.134.11:8088/identity/v3/auth/tokens'
class token(unittest.TestCase):
url ='http://172.16.134.11:8088/identity/v3/auth/tokens'
headers = {"Content-Type":"application/json"}
info = ExcelData(data_path='E:/api-test/data/token.xlsx',sheetname='token')
data1 = info.readExcel()
print(json.dumps(data1,indent=4))
import pdb
pdb.set_trace()
userinfo = [{"name":"dgh126","password":"111111","id":"d824a9adf9d8467db9d28c3c28683fd2","code":"201"}]
def test_login(self):
data = {
"auth": {
"identity": {
"methods": [
"password"
],
"password": {
"user": {
"name":"",
"domain": {
"name":"Default"
},
"password":""
}
}
},
"scope": {
"project": {
"id":""
}
}
}
}
for itemin self.userinfo:
data["auth"]["identity"]["password"]["user"]["name"] = item["name"]
data["auth"]["identity"]["password"]["user"]["password"] = item["password"]
data["auth"]["scope"]["project"]["id"] = item["id"]
# print(data)
print self.url
res = requests.post(url=self.url,headers=self.headers,json=data)
token = res.headers.get('X-Subject-Token')
print (token)
# json.loads, load string: string -> dict
# json.dumps, dump string: dict -> string
result = res.status_code
print(result)
self.assertEqual(result,201,msg='not ok')
with open("E:/api-test/json/token.json",'w')as fs:
json.dump(res.json(), fs,indent=4)# indent=4 换行
return token
# print(r.status_code)
# import pdb; pdb.set_trace()
# print(r.headers['X-Subject-Token'])
# r = requests.post(url=url, headers=headers, json=data)
# print(token)
def test_create_cinder(self):
Token =self.test_login()
print("Token")
class Test():
def test1(self):
self.a = token("test_login")
self.a.test_login()
if __name__ =='__main__':
pass
#unittest.main()
# test2 = Test()
# print "+++++++++++"
# test2.test1()
获取列表
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#coding=utf-8
import xlrd
from xlrdimport xldate_as_tuple
import datetime
import collections
'''
xlrd中单元格的数据类型
数字一律按浮点型输出,日期输出成一串小数,布尔型输出0或1,所以我们必须在程序中做判断处理转换
成我们想要的数据类型
0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
'''
class ExcelData():
# 初始化方法
def __init__(self, data_path, sheetname):
#定义一个属性接收文件路径
self.data_path = data_path
# 定义一个属性接收工作表名称
self.sheetname = sheetname
# 使用xlrd模块打开excel表读取数据
self.data = xlrd.open_workbook(self.data_path)
# 根据工作表的名称获取工作表中的内容(方式①)
self.table =self.data.sheet_by_name(self.sheetname)
# 根据工作表的索引获取工作表的内容(方式②)
# self.table = self.data.sheet_by_name(0)
# 获取第一行所有内容,如果括号中1就是第二行,这点跟列表索引类似
self.keys =self.table.row_values(0)
# 获取工作表的有效行数
self.rowNum =self.table.nrows
# 获取工作表的有效列数
self.colNum =self.table.ncols
# 定义一个读取excel表的方法
def readExcel(self):
# 定义一个空列表
datas = []
for iin range(1,self.rowNum):
# 定义一个空字典
sheet_data = {}
for jin range(self.colNum):
# 获取单元格数据类型
c_type =self.table.cell(i,j).ctype
# 获取单元格数据
c_cell =self.table.cell_value(i, j)
if c_type ==2 and c_cell %1 ==0:# 如果是整形
c_cell =int(c_cell)
elif c_type ==3:
# 转成datetime对象
date = datetime.datetime(*xldate_as_tuple(c_cell,0))
c_cell = date.strftime('%Y/%d/%m %H:%M:%S')
elif c_type ==4:
c_cell =True if c_cell ==1 else False
sheet_data[self.keys[j]] = c_cell
# 循环每一个有效的单元格,将字段与值对应存储到字典中
# 字典的key就是excel表中每列第一行的字段
# sheet_data[self.keys[j]] = self.table.row_values(i)[j]
# 再将字典追加到列表中
datas.append(sheet_data)
# 返回从excel中获取到的数据:以列表存字典的形式返回
return datas
if __name__ =="__main__":
data_path ="E:/api-test/data/token.xlsx"
sheetname ="token"
get_data = ExcelData(data_path, sheetname)
datas = get_data.readExcel()
print(datas)
+++++++++++++++++++++++
有序打印
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#coding=utf-8
import xlrd
from xlrdimport xldate_as_tuple
import datetime
import collections
'''
xlrd中单元格的数据类型
数字一律按浮点型输出,日期输出成一串小数,布尔型输出0或1,所以我们必须在程序中做判断处理转换
成我们想要的数据类型
0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
'''
class ExcelData():
# 初始化方法
def __init__(self, data_path, sheetname):
#定义一个属性接收文件路径
self.data_path = data_path
# 定义一个属性接收工作表名称
self.sheetname = sheetname
# 使用xlrd模块打开excel表读取数据
self.data = xlrd.open_workbook(self.data_path)
# 根据工作表的名称获取工作表中的内容(方式①)
self.table =self.data.sheet_by_name(self.sheetname)
# 根据工作表的索引获取工作表的内容(方式②)
# self.table = self.data.sheet_by_name(0)
# 获取第一行所有内容,如果括号中1就是第二行,这点跟列表索引类似
self.keys =self.table.row_values(0)
# 获取工作表的有效行数
self.rowNum =self.table.nrows
# 获取工作表的有效列数
self.colNum =self.table.ncols
# 定义一个读取excel表的方法
def readExcel(self):
# 定义一个空列表
datas = []
for iin range(1,self.rowNum):
# 定义一个空字典
sheet_data = collections.OrderedDict()
for jin range(self.colNum):
# 获取单元格数据类型
c_type =self.table.cell(i,j).ctype
# 获取单元格数据
c_cell =self.table.cell_value(i, j)
if c_type ==2 and c_cell %1 ==0:# 如果是整形
c_cell =int(c_cell)
elif c_type ==3:
# 转成datetime对象
date = datetime.datetime(*xldate_as_tuple(c_cell,0))
c_cell = date.strftime('%Y/%d/%m %H:%M:%S')
elif c_type ==4:
c_cell =True if c_cell ==1 else False
sheet_data[self.keys[j]] = c_cell
# 循环每一个有效的单元格,将字段与值对应存储到字典中
# 字典的key就是excel表中每列第一行的字段
# sheet_data[self.keys[j]] = self.table.row_values(i)[j]
# 再将字典追加到列表中
datas.append(sheet_data)
# 返回从excel中获取到的数据:以列表存字典的形式返回
return datas
if __name__ =="__main__":
data_path ="E:/api-test/data/token.xlsx"
sheetname ="token"
get_data = ExcelData(data_path, sheetname)
datas = get_data.readExcel()
import json
print(json.dumps(datas))
+++++++++++++++++++
有序打印
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#coding=utf-8
import xlrd
from xlrdimport xldate_as_tuple
import datetime
import collections
'''
xlrd中单元格的数据类型
数字一律按浮点型输出,日期输出成一串小数,布尔型输出0或1,所以我们必须在程序中做判断处理转换
成我们想要的数据类型
0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
'''
class ExcelData():
# 初始化方法
def __init__(self, data_path, sheetname):
#定义一个属性接收文件路径
self.data_path = data_path
# 定义一个属性接收工作表名称
self.sheetname = sheetname
# 使用xlrd模块打开excel表读取数据
self.data = xlrd.open_workbook(self.data_path)
# 根据工作表的名称获取工作表中的内容(方式①)
self.table =self.data.sheet_by_name(self.sheetname)
# 根据工作表的索引获取工作表的内容(方式②)
# self.table = self.data.sheet_by_name(0)
# 获取第一行所有内容,如果括号中1就是第二行,这点跟列表索引类似
self.keys =self.table.row_values(0)
# 获取工作表的有效行数
self.rowNum =self.table.nrows
# 获取工作表的有效列数
self.colNum =self.table.ncols
# 定义一个读取excel表的方法
def readExcel(self):
# 定义一个空列表
datas = []
for iin range(1,self.rowNum):
# 定义一个空字典
sheet_data = collections.OrderedDict()
for jin range(self.colNum):
# 获取单元格数据类型
c_type =self.table.cell(i,j).ctype
# 获取单元格数据
c_cell =self.table.cell_value(i, j)
if c_type ==2 and c_cell %1 ==0:# 如果是整形
c_cell =int(c_cell)
elif c_type ==3:
# 转成datetime对象
date = datetime.datetime(*xldate_as_tuple(c_cell,0))
c_cell = date.strftime('%Y/%d/%m %H:%M:%S')
elif c_type ==4:
c_cell =True if c_cell ==1 else False
sheet_data[self.keys[j]] = c_cell
# 循环每一个有效的单元格,将字段与值对应存储到字典中
# 字典的key就是excel表中每列第一行的字段
# sheet_data[self.keys[j]] = self.table.row_values(i)[j]
# 再将字典追加到列表中
datas.append(sheet_data)
# 返回从excel中获取到的数据:以列表存字典的形式返回
return datas
if __name__ =="__main__":
data_path ="E:/api-test/data/token.xlsx"
sheetname ="token"
get_data = ExcelData(data_path, sheetname)
datas = get_data.readExcel()
import json
print(json.dumps(datas))