python非標準json的簡單介紹

本文目錄一覽:

python中為什麼用json有什麼作用

今天我也在這個問題上糾結很久。最後才想明白,我來回答下。

網上很多網友總結了json模塊的用法,但沒說json模塊有什麼用,幹嘛要有這個模塊。可能都明白、太簡單,覺得沒必要說。但作為小白的我不明白,而且在練習使用load()和dump()時遇到錯誤。

首先糾正,json格式不是字元串。json與python裡面的字典是一樣的格式。

python的json模塊四個方法的作用為:

dumps() # 把數據轉成字元串;

loads() # 把字元串符號『』去掉;

dump(x, f) # 將x的內容直接寫入f,不改變格式;

load(x, f) # 讀取f保存為x,同樣不改變格式。

重點來了,f = open()下的read()的方法,輸出是字元串,wirte()方法的輸入也必須是字元串。

結論:因為f=open()下的讀寫方法都必須是字元串,很不方便。而非字元串的數據大多是json格式,所以就有了json模塊。方便讀寫非字元串的數據。

因為這個目的,json模塊的loads()和dumps()方法有些雞肋,還造成困擾,因為明明json不是字元串,幹嘛要轉成字元串,另外dump()和load()方法表面上和它們不一樣。只有明白json模塊的目的,才會搞明白。

在python 3.6的說明文檔中,把json模塊放在了《7.2.文件讀寫》部分。我也是看到這裡才去練習json模塊。但出問題,有些糊塗,明白json模塊的作用後,才更清楚幹嘛把json模塊放這裡。

小白的淺見,若錯誤請指教,謝謝。

python怎麼轉化成json格式

如果datas是Python的原始數據,並且datas中沒有非ascii碼,可以使用如下語句轉換為json格式:

import

json

json.dumps(datas)

當datas中含有中文等非ascii字元時,可以使用如下參數:

json.dumps(datas,

ensure_ascii=False)

如果想美化輸出格式,可以使用indent參數:

json.dumps(datas,

indent=4)

Python爬蟲(七)數據處理方法之JSON

JSON 指的是 JavaScript 對象表示法(JavaScript Object Notation),是輕量級的文本數據交換格式,且具有自我描述性,更易理解。

JSON看起來像python類型(列表,字典)的字元串。

在之前的文章中,我們說到了怎麼用response的方法,獲取到網頁正確解碼後的字元串。如果還有不懂的,可以先閱讀 Python爬蟲(三)Requests庫 。接下來以有道翻譯為例子,說說怎麼通過網頁解碼後的字元串,提取到翻譯結果。

再結合上述有道翻譯的例子,得到字典類型的返回結果,並提取出來翻譯結果。

將上述例子的dict_json換成str字元串,再寫入文本中。

執行完上述的程序,會得到一個fanyi.txt的文件,其結果如下:{“type”: “ZH_CN2EN”, “errorCode”: 0, “elapsedTime”: 1, “translateResult”: [[{“src”: “\u4eba\u751f\u82e6\u77ed\uff0c\u6211\u7528python”, “tgt”: “Life is too short, I use python”}]]}。這樣子的一份文檔,中文部分顯示的是二進位,且格式非常不利於閱讀,這並不是我們想要的結果。好在json.dumps()為我們提供的兩個方法,以幫助我們更好閱讀文檔。

1.ensure_ascii,能夠讓中文顯示成中文;

2.indent,能夠讓下一行在第一行的基礎上空格。

其用法如下:

如何用python處理json文件

import json,time  

  

infos = {“_id”:”description”,”name”:”python”,”filename”:”中文”,”os”:[“abcd”,”hello”,”www”]}  

infos[“time”] = time.time()#動態修改json文件內容  

#生成json文件  

def json_file(infos):  

    with open(“./static/desc.desc”,”w”) as jsonf:  

        jsonf.write(json.dumps(infos)) 

json_file(infos)  

  

  

  

#讀取json文件的內容  

file_info = json.load(file(“./static/desc.desc”))  

print file_info,type(file_info)  

filename = file_info[“filename”]  

print filename  

  

infos = json.dumps(file_info,sort_keys=True,indent=4)  

print infos,type(infos)

python使用json模塊來處理json數據

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/303881.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-31 11:50
下一篇 2024-12-31 11:50

相關推薦

  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29

發表回復

登錄後才能評論