序文
多くのプログラムはユーザーに何らかの情報を入力することを要求し、プログラムは通常、リストや辞書などのデータ構造に情報を保存します。
ユーザーがプログラムを閉じるときに情報を保存する必要がありますが、簡単な方法はモジュール json を使用してデータを保存することです。
モジュール json を使用すると、単純な Python データ構造をファイルにダンプし、プログラムを再度実行するときにそのファイルからデータをロードできます。
json を使用して Python プログラム間でデータを共有することもできます。さらに重要なのは、JSON (JavaScript Object Notation、もともと JavaScript によって開発された) 形式のデータ ファイルは多くのプログラミング言語と互換性があることです。
基本的な考え方
1. json.dumps() と json.loads() は json 形式の処理関数です (json は文字列であることがわかります)
- json.dumps() 関数は、Python データ型のリストを json 形式でエンコードします (json.dumps() 関数が辞書を文字列に変換することが理解できます)。
- json.loads()関数は、json形式のデータを辞書に変換します(json.loads()関数は文字列を辞書に変換すると理解できます)
2. json.dump() と json.load() は主に json ファイル関数の読み取りと書き込みに使用されます
1. json.dumps()
import json
# json.dumps()函数的使用,将字典转化为字符串
dict1 = {
"age": "12"}
json_info = json.dumps(dict1)
print("dict1的类型:"+str(type(dict1)))
print("通过json.dumps()函数处理:")
print("json_info的类型:"+str(type(json_info)))
操作結果:
2. json.loads()
import json
# json.loads函数的使用,将字符串转化为字典
json_info = '{"age": "12"}'
dict1 = json.loads(json_info)
print("json_info的类型:"+str(type(json_info)))
print("通过json.dumps()函数处理:")
print("dict1的类型:"+str(type(dict1)))
3. json.dump()
import json
# json.dump()函数的使用,将json信息写进文件
json_info = "{'age': '12'}"
file = open('1.json','w',encoding='utf-8')
json.dump(json_info,file)
スクリーンショット (1.json ファイル) を実行します。
4. json.load()
import json
# json.load()函数的使用,将读取json信息
file = open('1.json','r',encoding='utf-8')
info = json.load(file)
print(info)
# {'age':'12'}
5. jsonの包括的な応用
import json
# list 转成Json格式数据
def listToJson(lst):
keys = [str(x) for x in np.arange(len(lst))]
list_json = dict(zip(keys, lst))
# # indent,格式化保存字典,默认为None,小于0为零个空格
str_json = json.dumps(list_json, indent=2, ensure_ascii=False) # json转为string
return str_json
rawList = [1, 3, 4, 7]
# 保存JSON
numbers = listToJson(rawList)
filename = "numbers.json" # 默认保存到根目录下,指定存储数据的文件名称
with open(filename, 'w') as file_obj:
json.dump(numbers, file_obj)
# 加载JSON
filename = "numbers.json"
with open(filename) as file_obj:
numbers = json.load(file_obj)
print(numbers) # 打印JSON
# 运行结果
"""
{
"0": 1,
"1": 3,
"2": 4,
"3": 7
}
"""
- rawList は、listToJson 関数を通じてリストを Json 形式のデータに変換します。
- open 関数を使用してnumbers.jsonを開き、 json.dump( ) を呼び出してデータを保存します。
- ファイルを読み取り専用モードで開きます。
- json.load( ) はファイル内の情報をロードし、それを変数番号に格納します。
- デジタル情報を数字で出力します。
参考文献
Blog Garden: Python での JSON ファイル処理に関与する 4 つの関数 json.dumps() と json.loads()、json.dump() と json.load() の区別 Script
House: Python がデータを JSON ファイルに保存する方法