[Python は json ファイルを保存して呼び出します]


序文

多くのプログラムはユーザーに何らかの情報を入力することを要求し、プログラムは通常、リストや辞書などのデータ構造に情報を保存します。

ユーザーがプログラムを閉じるときに情報を保存する必要がありますが、簡単な方法はモジュール 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
}
"""
  1. rawList は、listToJson 関数を通じてリストを Json 形式のデータに変換します。
  2. open 関数を使用してnumbers.jsonを開き、 json.dump( ) を呼び出してデータを保存します。
  3. ファイルを読み取り専用モードで開きます。
  4. json.load( ) はファイル内の情報をロードし、それを変数番号に格納します。
  5. デジタル情報を数字で出力します。

参考文献

Blog Garden: Python での JSON ファイル処理に関与する 4 つの関数 json.dumps() と json.loads()、json.dump() と json.load() の区別 Script
House: Python がデータを JSON ファイルに保存する方法

おすすめ

転載: blog.csdn.net/weixin_43849871/article/details/120513773