Python読み書きJsonリスト操作練習
2213 ワード
Jsonは簡単にJavaScriptのオブジェクトと配列であるため、この2つの構造はオブジェクトと配列の2つの構造(Jsonのフォーマットと使用を参照)であり、Pythonの辞書とリストの2つのデータ構造に対応している.このことがわかったら、PythonがJsonファイルを操作する本質は操作リストや辞書であることがわかります.今日はPythonのJsonのリストを読み書きする小さなプログラムを書いて練習しました.本稿では、基本的な操作の紹介は行いません.基本的な操作の実践訓練であり、ドキュメントに名前文字列を書き込んで読み取る操作をシミュレートします.
討論を歓迎する.
import json
def get_stored_name():
''' json '''
try:
with open("nameCollect.json", "r") as file_obj:
name_lsit = json.load(file_obj)
except FileNotFoundError:
name_lsit = None
file_obj.close()
return name_lsit
def get_new_name():
''' json , , '''
try:
with open("nameCollect.json", "r") as file_obj:
name_list = json.load(file_obj)
except FileNotFoundError:
name_list = []
if name_list is None:
name_list = []
''' json '''
while True:
username = input("Please input a name(enter \"q\" to exit): ")
if username != "q":
name_list.append(username)
else:
break
with open("nameCollect.json", "w") as file_obj:
json.dump(name_list, file_obj)
file_obj.close()
return name_list
def say_hi():
''' '''
while True:
flg = input("Enter \"1\" to write names into the file, enter \"2\" to say \"Hi\": ")
if flg == "1": # ,
get_new_name()
elif flg == "2": # ,
name_list = get_stored_name()
if not name_list:
name_list = get_new_name() # ,
break
else:
print("Sorry, you must input 1 or 2.")
''' , ; , '''
if name_list:
for name in name_list:
print("Hi, " + name + "!")
else:
print("Oh, you didn't input anything here.")
say_hi()
討論を歓迎する.