第一次寫接口測試,還不是很熟練。list,dict,for遍歷是python基礎語法裏最經常使用也是最基礎的,仍是須要多加練習。另外,文件的讀寫操做,字符串的使用以及api等都是須要不斷鞏固練習的。python
(1)文件讀寫操做: file_path = 「D:\\python_file\\generalseven.txt」 with open(file_path,'r')as f: print(f.read()) read()函數,該函數會會一次性讀取文件的所有內容,若是能確保文件的大小,天然能夠。但若文件過大,內存就爆了. 因此,能夠反覆調用read(size)方法,每次最多讀取size個字節的內容;也可調用 readline() 每次讀取一行內容; 而調用readlines()能夠一次讀取全部內容並按行返回list。總之,根據需求來。
(2)建立新文件並寫入: file_path = 「D:\\python_file\\generalseven.txt」 with open(file_path,'w')as f: f.write("hello generalseven")
r : 以只讀方式打開文件,文件的指針會放在文件的開頭。這是默認模式。json
w:打開一個文件只用於寫入。若是該文件已存在則將其覆蓋。若是該文件不存在,建立新文件。api
a:打開一個文件用於追加。若是該文件已存在,文件指針會放在文件的結尾,新的內容將會被寫入到已有內容以後。若是該文件不存在,建立新文件進行寫入。app
需求:函數
①在給定的data.txt文檔裏篩選出「.ppt」、「.pptx」格式,須要判斷是不是ppt/pptx文件,返回list類型;post
②使用list裏的數據,調用接口,成功調用返回狀態爲success,失敗爲fail,成功轉換文檔的文件地址列表,以及時間,返回字典類型;測試
③獲取統計接口成功轉換的總時間,平均時間,失敗文檔的列表存到list中,結束的時候存到文件中。spa
返回狀態:指針
# 成功調用返回:{u'status': u'success', u'file': u'http://generalseven.com/d9ee37816cacc11c51.pdf', u'time': 3.9380002021686955}
# 失敗調用返回:{u'status': u'fail', u'detail': u'download doc fail: d9e4920f2cacc11c513.ppt', u'time': 1.312333998302459717}
blog
import request#導入須要的庫 file_path = "C:\\Users\\Administrator\\Desktop\\data.txt"#定義文檔的路徑 def get_doc_from_file(file_path):#篩選所需格式文檔的函數 files = []#定義一個空文件 with open(file_path,'r') as f:#打開文件 lines = f.readlines()#讀取文件的每一行 for line in lines: line = line.strip()#去除空格 x = line.split(".")[-1].rstrip() if x in ['ppt','pptx']: files.append(line)#往空文件裏添加符合條件的行 return files#返回文件,類型爲list def convert_test(file_name):#使用list,調用接口 doc,page = (file_name,15) data = {'doc_id':doc,'page':1} result = requests.post("http://...........",data).json() if result['status'] == 'fail': return result else: return result if __name__ == '__main__': files = get_doc_from_file(file_path) total_time = 0 i = 0 Lists = [] for f in files[:2]: a = convert_test(f)#使用變量,爲了調用函數裏面的參數值 if a['status'] == 'success':#判斷狀態成功的狀況下,統計總時間和平均時間 i += 1 time = a['time']#由於a返回類型是字典,time就是每一條轉換狀態下所須要的時間 total_time += time else: fail_file = a['detail']#轉換失敗文檔的文件名 Lists.append(fail_file) with open('C:\\Users\\Administrator\\Desktop\\newpath.txt','w') as new_file: for j in Lists: new_file.write(j) new_file.write('\n') print total_time print total_time/i