#!/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))