讀取txt檔案將其轉換為字典:json內容載入和eval函式,其中json方法占用記憶體較少!
兩種方式的**:
import json
def json_to_dict(content_str):
'''txt檔案讀取的字串,使用json載入,占用記憶體少
:param txt_path:
:return:
'''content_dict = json.loads(content_str)
return content_dict
def str_to_dict(content_str):
'''txt檔案讀取的字串,使用eval函式直接轉換
:param txt_path:
:return:
'''content_dict = eval(content_str)
return content_dict
if __name__ == "__main__":
txt_path = ""
f = open(txt_path, 'r')
content_str = f.read()
#第一種方法
json_to_dict(content_str)
#第二種方法
str_to_dict(content_str)
如果字串中的key沒有引號怎麼轉換為字典:
1)使用yaml
import yaml
dict = yaml.safe_load(string)
2) 使用demjson
import demjson
dict = demjson.decode(string)
3) 使用函式直接變為字典
def jsonfy(s: str) -> object:
obj = eval(s, type('js', (dict,), dict(__getitem__=lambda s, n: n))())
return obj
4)先正則新增雙引號
例如str = ""
str1 = re.sub(r'(?<="
在使用json載入轉換為字典
dict = json.loads(str1)
python中字典轉字串單引號變雙引號
兩種方法 str 以及json.dumps 注意 單引號雙引號的區別 str方法將其變為單引號,json.dumps方法仍是雙引號!import json d print type d str d str d print str d str d print str d的型別 type str d j...
JSON字串key缺少雙引號的解決方法
json字串key缺少引號的解決方法 json字串是key value形式的字串,正常key是由雙引號括起來的。例如 data array name fdipzone echo json encode data print r json decode json encode data true ar...
如何在字串中新增雙引號
在 雙引號前新增轉義符 字串裡有雙引號,該如何表示呢?答 在雙引號前,加反斜槓 例 字串 at cscs gsm 表示為 at cscs gsm 轉義字元 轉義字元是一種特殊的字元常量。轉義字元以反斜線 開頭,後跟乙個或幾個字元。轉義字元具有特定的含義,不同於字元原有的意義,故稱 轉義 字元。例如,...