婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python 存儲json數據的操作

python 存儲json數據的操作

熱門標簽:廣告地圖標注app 激戰2地圖標注 海南400電話如何申請 公司電話機器人 陜西金融外呼系統 哈爾濱ai外呼系統定制 白銀外呼系統 唐山智能外呼系統一般多少錢 騰訊外呼線路

本篇我們將學習簡單的json數據的存儲

首先我們需要引入json模塊:

import json

這里我們模擬一個常見常見,我們讓用戶輸入用戶名、密碼,在密碼輸入完成后提示用戶再次輸入密碼來確認自己的輸入,如果兩次密碼一致,那么我們將用戶名和密碼以json格式寫入文件,否則提示用戶再次輸入密碼。

name = input("please enter your name:")
password = input("please enter your password:")
confirm_password = input("confirm your password:")
while password != confirm_password:
    print("input password inconsistencies,please try again")
    password = input("please enter your password:")
    confirm_password = input("confirm your password:")

我們運行下代碼確保我們的準備工作沒有問題:

ok,我們可以通過用戶輸入拿到用戶名和密碼,接下來,我們就需要將兩者以json格式存入文件了。

首先,我們將我們的輸入轉化為json對象:

user_info = json.dumps({'username': name, 'password': password}, sort_keys=True, indent=4, ensure_ascii=False)
print(user_info)

這里我們使用了json.dumps函數,該函數 用于將 Python 對象編碼成 JSON 字符串。

語法:

def dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True,         allow_nan=True, cls=None, indent=None, separators=None,         default=None, sort_keys=False, **kw) Inferred type: (obj: Any, Any, skipkeys: bool, ensure_ascii: bool, check_circular: bool, allow_nan: bool, cls: Any, indent: Any, separators: Any, default: Any, sort_keys: bool, kw: Dict[str, Any]) -> str

其中sort_keys是用來指定在json格式的對象里面是否按照key的名稱來進行排序,indent參數則指定縮進的空格數目。

最后的輸入格式如下:

{
    "password": "us",
    "username": "us"
}

那么接下來我們就將這個json對象寫入到文件中去:

 with open('user_info.json', 'w', encoding='utf-8') as json_file:
    json.dump(user_info, json_file, ensure_ascii=False)
    print("write json file success!")

這里我們需要學習一個函數json.dump:

def dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True,         allow_nan=True, cls=None, indent=None, separators=None,         default=None, sort_keys=False, **kw) Inferred type: (obj: Any, fp: {write}, Any, skipkeys: bool, ensure_ascii: bool, check_circular: bool, allow_nan: bool, cls: Any, indent: Any, separators: Any, default: Any, sort_keys: bool, kw: Dict[str, Any]) -> None 

這個函數有兩個參數是我們必須要填寫的:obj(我們要存儲的數據), fp(文件句柄,也就是我們要存在那個文件里面)。

ensure_ascii=False這個參數是處理我們希望在json對象里面可以包含中文的場景

If ensure_ascii is false, then the strings written to fp can contain non-ASCII characters if they appear in strings contained in obj. Otherwise, all such characters are escaped in JSON strings.

如果不指定ensure_ascii=False,那么當我們的數據里面包含中文的時候:

{"username": "zhang\u4e09", "password": "ddd"}

會有如上的顯示內容。

我們運行程序,依次輸入用戶名和密碼:

please enter your name:us
please enter your password:us
confirm your password:us
{"username": "us", "password": "us"}
write json file success!
Process finished with exit code 0

然后我們看下文本文件中的內容:

接下來我們就需要學習一下怎么讀取json格式的內容了。

with open('user_info.json', 'r', encoding='utf-8') as json_file:
    data = json.load(json_file)
    print(data)

讀取json數據需要使用json.load函數:

def load(fp, *, cls=None, object_hook=None, parse_float=None,         parse_int=None, parse_constant=None, object_pairs_hook=None, **kw) Inferred type: (fp: {read}, Any, cls: Any, object_hook: Any, parse_float: Any, parse_int: Any, parse_constant: Any, object_pairs_hook: Any, kw: Dict[str, Any]) -> Any

這里我們需要提供一個參數fp,也就是我們要操作的文件句柄。

程序運行輸出:

{"username": "us", "password": "us"}

我們可以打印一下json.load返回的是什么類型的:

 print(type(data))

輸出:

class 'str'>

可見,這是一個字符串,這是為什么呢?難道不應該返回的是python對應的對象嗎?

在上面的代碼中我們在寫入文件前面調用過:

user_info = json.dumps({'username': name, 'password': password}, ensure_ascii=False)

這一行代碼,大家還記得吧,它返回的是一個json字符串,所以上面的例子中我們需要使用json.loads重新反序列化為python對象,這一點大家留意一下,上面的例子我們是為了給大家演示json.loads的相關用法,使用如下:

data = json.loads(data)
print(type(data))
print(data['username'])

如果沒有這行代碼,那么 data = json.load(json_file)返回的就是我們自己組織的數據結構了,如果還是{‘username': name, ‘password': password}這種格式,那么返回就是一個字典對象。

下面我們在通過一個list來看一下:

data = [1,2,3,4,5]
with open('user_info.json', 'w', encoding='utf-8') as json_file:
    json.dump(data, json_file, ensure_ascii=False)
with open('user_info.json', 'r', encoding='utf-8') as json_file:
    data = json.load(json_file)
    print(type(data))
    print(data)

運行程序:

class 'list'>

[1, 2, 3, 4, 5]

補充:Python創建并保存json文件,支持數據更新保存

大家還是直接看代碼吧~

import json
class Params():
    """Class that loads hyperparameters from a json file.
        Example:
        ```
        params = Params(json_path)
        print(params.learning_rate)
        params.learning_rate = 0.5  # change the value of learning_rate in params
        ```
        """
    def __init__(self, json_path):
        with open(json_path) as f:
            params = json.load(f)  # 將json格式數據轉換為字典
            self.__dict__.update(params)
    def save(self, json_path):
        with open(json_path, 'w') as f:
            json.dump(self.__dict__, f, indent=4)  # indent縮進級別進行漂亮打印
    def update(self, json_path):
        """Loads parameters from json file"""
        with open(json_path) as f:
            params = json.load(f)
            self.__dict__.update(params)
    @property  # Python內置的@property裝飾器就是負責把一個方法變成屬性調用的
    def dict(self):
        """Gives dict-like access to Params instance by `params.dict['learning_rate']"""
        return self.__dict__
if __name__ == '__main__':
    parameters = {"SEED": 1,
                  "dataset": "Omniglot",
                  "meta_lr": 1e-3,
                  "num_episodes": 5000,
                  "num_classes": 5,
                  "num_samples": 1,
                  "num_query": 10,
                  "num_steps": 100,
                  "num_inner_tasks": 8,
                  "num_train_updates": 1,
                  "num_eval_updates": 1,
                  "save_summary_steps": 100,
                  "num_workers": 1
                  }
    json_str = json.dumps(parameters, indent=4)
    with open('params.json', 'w') as f:  # 創建一個params.json文件
        f.write(json_str)  # 將json_str寫到文件中
    params = Params('params.json')
    params.SEED = 2   # 修改json中的數據
    params.save('params.json')  # 將修改后的數據保存

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Python中rapidjson參數校驗實現
  • Python常用配置文件ini、json、yaml讀寫總結
  • Python中json.load()和json.loads()有哪些區別
  • Python中json.dumps()函數的使用解析
  • 解決python3 json數據包含中文的讀寫問題
  • python json.dumps中文亂碼問題解決
  • Python如何把不同類型數據的json序列化
  • python之json文件轉xml文件案例講解

標簽:常德 鷹潭 四川 惠州 益陽 黑龍江 上海 黔西

巨人網絡通訊聲明:本文標題《python 存儲json數據的操作》,本文關鍵詞  python,存儲,json,數據,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python 存儲json數據的操作》相關的同類信息!
  • 本頁收集關于python 存儲json數據的操作的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    色狠狠综合天天综合综合| 亚洲综合在线观看视频| 中文字幕精品三区| 亚洲伊人色欲综合网| 成人丝袜18视频在线观看| 国产成人精品午夜视频免费| 国产精品乱人伦| 亚洲一二三四区| 欧美精品久久天天躁| 69久久夜色精品国产69蝌蚪网| 亚洲国产精品黑人久久久| 国产精品国产精品国产专区不片| 日本91福利区| 久久99最新地址| 日韩欧美国产麻豆| 国产亚洲欧美在线| 久久久不卡网国产精品二区| 26uuu精品一区二区三区四区在线| 国产99一区视频免费| 懂色av一区二区三区蜜臀 | 激情综合色播激情啊| 亚洲影院久久精品| 亚洲色图色小说| 亚洲日本丝袜连裤袜办公室| 国产精品久久久久久久久久久免费看 | 欧美国产日本韩| 亚洲精品在线三区| 久久亚洲综合av| 久久久影院官网| 中文字幕不卡三区| 国产精品久久久久一区| 国产精品久久久久影院老司| 国产精品久久久久四虎| 中文字幕亚洲精品在线观看| 一色屋精品亚洲香蕉网站| 亚洲欧洲精品成人久久奇米网| 中文字幕欧美一区| 亚洲综合色自拍一区| 午夜激情一区二区| 久久超级碰视频| 成人午夜又粗又硬又大| 色欧美日韩亚洲| 欧美精品tushy高清| 色综合婷婷久久| 欧美一二三区精品| 欧美国产日韩在线观看| 亚洲欧美视频在线观看| 日韩中文字幕一区二区三区| 婷婷综合五月天| 日韩精品一区第一页| 日韩高清欧美激情| 成人av网站在线观看免费| 欧洲精品在线观看| 精品sm在线观看| 亚洲一区二区在线播放相泽| 奇米精品一区二区三区在线观看| 国产一区二区三区高清播放| zzijzzij亚洲日本少妇熟睡| 欧美一区二区三区在线观看| 欧美变态tickling挠脚心| 国产精品美女久久久久久| 日韩一区在线免费观看| 久久久午夜精品| 日韩美女视频一区二区| 青青草伊人久久| 不卡一区中文字幕| 日韩美女视频在线| 亚洲欧美另类小说视频| 美女尤物国产一区| 日本二三区不卡| 欧美韩日一区二区三区四区| 午夜精品一区二区三区电影天堂| 国模冰冰炮一区二区| 欧美日韩美女一区二区| 欧美国产亚洲另类动漫| 麻豆高清免费国产一区| 欧美视频你懂的| 亚洲免费观看高清在线观看| 国内精品第一页| 91精品国产综合久久久久久久| 亚洲视频免费看| 成人av资源站| 国产亚洲精品bt天堂精选| 免费高清在线一区| 欧美色综合网站| 亚洲女同一区二区| 国产经典欧美精品| 精品国产乱码久久久久久久久| 日韩电影一区二区三区四区| 欧美性视频一区二区三区| 亚洲日本青草视频在线怡红院 | youjizz久久| 欧美日韩成人一区| 国产精品毛片a∨一区二区三区| 久久久综合精品| av福利精品导航| 日本伊人色综合网| 欧美一区二区三区免费大片| 日韩午夜三级在线| 成人免费精品视频| 亚洲高清一区二区三区| 成人免费视频免费观看| 高清免费成人av| 亚洲在线视频网站| 久久精品久久99精品久久| 在线不卡欧美精品一区二区三区| 亚洲精品乱码久久久久久久久| 国产99久久久精品| 国产精品不卡在线观看| 成人一二三区视频| 国产精品毛片久久久久久久| 成人激情综合网站| 亚洲欧美另类综合偷拍| 色吊一区二区三区| 亚洲视频中文字幕| 日本韩国精品在线| 丝袜美腿亚洲一区| 日韩精品一区在线观看| 美女看a上一区| 国产亚洲va综合人人澡精品| 国产精品一区二区x88av| 精品精品欲导航| 极品销魂美女一区二区三区| 国产欧美一区二区在线| 色av一区二区| 亚洲愉拍自拍另类高清精品| 欧美一区二区三区婷婷月色| 成人听书哪个软件好| 91片黄在线观看| 亚洲精品在线一区二区| 国产综合一区二区| 岛国精品在线播放| 欧美日韩国产小视频在线观看| 9i在线看片成人免费| 99精品视频一区| 久久久久亚洲蜜桃| 国产精品久久久99| 极品销魂美女一区二区三区| 国产精品久久久久影视| 99久久精品国产一区二区三区| 亚洲欧美色图小说| 日韩欧美精品在线视频| 91女神在线视频| 激情综合色丁香一区二区| 国产精品二区一区二区aⅴ污介绍| 成人激情电影免费在线观看| 亚洲精品视频在线观看网站| 91精品国模一区二区三区| 国产一区二区三区四区五区美女| 精品日韩一区二区三区 | 丁香六月久久综合狠狠色| 亚洲一区二区av在线| 国产精品视频一区二区三区不卡| 欧美性极品少妇| 波多野结衣91| 国产成人免费视频网站高清观看视频 | 欧美性生活影院| 国产一区二区不卡| 一区二区三区日韩欧美| 精品国产乱码久久久久久老虎| 亚洲成人av电影在线| 精品日本一线二线三线不卡| 波多野结衣亚洲| 亚洲欧美在线高清| 99久久综合99久久综合网站| 亚洲午夜三级在线| 日韩免费在线观看| 一本到不卡免费一区二区| 麻豆精品国产91久久久久久| wwww国产精品欧美| 国产精品一区二区在线观看网站| 亚洲欧美一区二区不卡| 日韩免费视频一区二区| 在线播放国产精品二区一二区四区| 国产精品欧美一级免费| 色中色一区二区| 欧美日韩一区二区三区视频| 粉嫩嫩av羞羞动漫久久久| 日本少妇一区二区| 国产suv一区二区三区88区| 麻豆传媒一区二区三区| 石原莉奈一区二区三区在线观看| 首页欧美精品中文字幕| 奇米一区二区三区| 色天使色偷偷av一区二区| 麻豆国产91在线播放| 亚洲九九爱视频| 亚洲午夜精品久久久久久久久| 久久精品国产亚洲a| 成人黄色大片在线观看| 国产成人av电影| 99视频有精品| 中文字幕av资源一区| 国产精品国产自产拍在线| 色94色欧美sute亚洲线路二| 久久99深爱久久99精品| 91蜜桃网址入口| 国产精品美女久久久久aⅴ国产馆| 一区二区欧美视频| 精品无人区卡一卡二卡三乱码免费卡|