python接口自動化,參數(shù)化的思路

接口測試中躺屁,需要把數(shù)據(jù)寫入文件试吁,再讀取文件數(shù)據(jù)。大多數(shù)的文件寫入都要求參數(shù)類型為字符型。比如txt,csv,xlsx


image.png

不少同學熄捍,寫入文件時看到報錯信息烛恤,直接使用字符型強制轉換,直接寫入文件余耽。

dict = {"a": "b","c": "d"}
str_dict =str(dict)
file_name = DATA_DIR+"/demo.txt"
with open(file_name,"w",encoding="utf-8") as f:
    f.write(str_dict)
f.close()

終于闖關成功缚柏,把數(shù)據(jù)寫入了文件,到了讀取數(shù)據(jù)的時候了

with open(file_name,"r",encoding="utf-8") as f:
    file_context = f.read()
    print(file_context)
f.close()
print(file_context,type(file_context))
=>{'a': 'b', 'c': 'd'} <class 'str'>

讀數(shù)據(jù)好像也沒有什么問題碟贾,數(shù)據(jù)終于等到了高光時候币喧。使用數(shù)據(jù)傳入接口參數(shù)的時候,自己挖的坑還是得自己來填呀袱耽。杀餐。

#轉換成python對象dict型
import json
json.loads(file_context)
=>以下是報錯信息
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "D:\Program Files\Python37\lib\json\__init__.py", line 348, in loads
    return _default_decoder.decode(s)
  File "D:\Program Files\Python37\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "D:\Program Files\Python37\lib\json\decoder.py", line 353, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

錯誤原因: 這個錯誤是由于json.loads()接受的參數(shù)不是json定義的標準格式。key值不是使用的雙引號朱巨,而是單引號J非獭!<叫琼讽!

json遵循“key-value”的這樣一種方式。比如:{"name" : "zhuxiao5"}洪唐。Json的key需要嚴格使用雙引號钻蹬;但是python 字典型dict,key使用單引號/雙引號都可以

dict = {"a": "b","c": "d"}
dict1 = {'a':'b'}
type(dict) => <class 'dict'>
type(dict1) => <class 'dict'>

假如你也遇到了以上的問題凭需,那下面的內容應該可以幫到你问欠。

Json簡介
Json(JavaScript Object Notation)
很多網站都會用到Json格式來進行數(shù)據(jù)的傳輸和交換。

這因為Json是一種輕量級的數(shù)據(jù)交換格式粒蜈,具有數(shù)據(jù)格式簡單顺献,讀寫方便易懂等很多優(yōu)點。用它來進行前后端的數(shù)據(jù)傳輸薪伏,大大的簡化了服務器和客戶端的開發(fā)工作量。

以下是避坑的兩個解決方案:
【方法一】數(shù)據(jù)寫入文件時粗仓,不直接使用str,強制轉換成字符型存入文件嫁怀,使用json.dumps()

#寫入文件
import json
from Common.project_path import *

dict = {"a": "b","c": "d"}
str_dict =str_dict =json.dumps(dict)
file_name = DATA_DIR+"/demo.txt"
with open(file_name,"w",encoding="utf-8") as f:
    f.write(str_dict)
f.close()
#讀取文件,json.loads()格式轉換為python對象
with open(file_name,"r",encoding="utf-8") as f:
    file_context = f.read()
    print(file_context)
f.close()
print(file_context,type(file_context))
=>{"a": "b", "c": "d"} <class 'str'>
json.loads(file_context)
=>{'a': 'b', 'c': 'd'}

【方法二】數(shù)據(jù)寫入文件時借浊,直接存儲成json文件塘淑,使用json.dump(),json.load()轉換數(shù)據(jù)格式

#python對象,直接存入文件
import json
from Common.project_path import *

dict = {"a": "b","c": "d"}
file_name = DATA_DIR+"/demo.json"
with open(file_name,"w",encoding="utf-8") as f:
    json.dump(dict,f)
f.close()
#直接讀取json文件數(shù)據(jù)
with open(file_name,"r",encoding="utf-8") as f:
    data = json.load(f)
    print(data,type(data))
f.close()
=>{'a': 'b', 'c': 'd'} <class 'dict'>
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末蚂斤,一起剝皮案震驚了整個濱河市存捺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖捌治,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件岗钩,死亡現(xiàn)場離奇詭異,居然都是意外死亡肖油,警方通過查閱死者的電腦和手機兼吓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來森枪,“玉大人视搏,你說我怎么就攤上這事∠馗ぃ” “怎么了浑娜?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長式散。 經常有香客問我筋遭,道長,這世上最難降的妖魔是什么杂数? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任宛畦,我火速辦了婚禮,結果婚禮上揍移,老公的妹妹穿的比我還像新娘次和。我一直安慰自己,他們只是感情好那伐,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布踏施。 她就那樣靜靜地躺著,像睡著了一般罕邀。 火紅的嫁衣襯著肌膚如雪畅形。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天诉探,我揣著相機與錄音日熬,去河邊找鬼。 笑死肾胯,一個胖子當著我的面吹牛竖席,可吹牛的內容都是我干的。 我是一名探鬼主播敬肚,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼毕荐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了艳馒?” 一聲冷哼從身側響起憎亚,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后第美,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蝶锋,經...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年斋日,在試婚紗的時候發(fā)現(xiàn)自己被綠了牲览。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡恶守,死狀恐怖第献,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情兔港,我是刑警寧澤庸毫,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站衫樊,受9級特大地震影響飒赃,放射性物質發(fā)生泄漏。R本人自食惡果不足惜科侈,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一载佳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧臀栈,春花似錦蔫慧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至盟蚣,卻和暖如春黍析,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背屎开。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工阐枣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人奄抽。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓蔼两,卻偏偏與公主長得像,于是被迫代替她去往敵國和親如孝。 傳聞我的和親對象是個殘疾皇子宪哩,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內容