摘要:是一種輕量級的數據交換格式,易于人閱讀和編寫。使用函數需要導入模塊將對象編碼成字符串用于解碼數據。該函數返回字段的數據類型。
json
使用 Python 語言來編碼和解碼 JSON 對象。
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式,易于人閱讀和編寫。使用json函數需要導入json模塊
json.dumps
將 Python 對象編碼成 JSON 字符串
json.loads
用于解碼 JSON 數據。該函數返回 Python 字段的數據類型。
基礎命令將python對象編碼成為json的字符串格式
d = {"name":"sheen", "age":17} jsonStr = json.dumps(d) #{"name": "sheen", "age": 17}l = [1,3,5,1.2] jsonList = json.dumps(l) #[1, 3, 5, 1.2]
將獲取的json字符串解碼為python的對象
pydict = json.loads(jsonStr) #{"name": "sheen", "age": 17}pylist = json.loads(jsonList) #[1, 3, 5, 1.2]
將python對象編碼成為json的字符串格式并寫入文件中
with open("json.txt","w") as f : json.dump(d,f)
將文件中的json字符串解碼為python的對象
with open("json.txt") as f: jsondict = json.load(f) #{"name": "sheen", "age": 17}json示例
給100個不同的用戶一個value值,存放到文件"json_dump.txt",并且是json格式
json.dump()參數
indent
應該是一個非負的整型,如果是0,或者為空,則一行顯示數據;否則會換行且按照indent的數量顯示前面的空白
sort_keys
將數據根據keys的值進行排序
separators = ("每個元素間的分隔符", “key和value之間的分隔符”)
#給100個不同的用戶一個value值 #存放到文件"json_dump.txt",并且是json格式 import json import string from random import choice keys = ["user"+str(i) for i in range(100)] values = string.ascii_lowercase+string.ascii_uppercase #大小寫字符串 dict = {choice(keys):choice(values) for i in range(100)} with open("json_dump.txt","w") as f: #indent:應該是一個非負的整型,如果是0,或者為空,則一行顯示數據;否則會換行且按照indent的數量顯示前面的空白 #sort_keys:將數據根據keys的值進行排序 #separators = ("每個元素間的分隔符", “key和value之間的分隔符”) json.dump(dict,f,indent=4,sort_keys=True, separators=(";", "=")) #為何最后文件不夠100行? #因為隨機選取的key值可能會重復,字典類型的key不允許重復,最后得到的數據會少于你給定的100次查詢IP地址
根據IP查詢所在地、運營商等信息的一些API如下:
1. 淘寶的API(推薦):http://ip.taobao.com/service/getIpInfo.php?ip=110.84.0.129 2. 國外freegeoip.net(推薦):http://freegeoip.net/json/110.84.0.129 這個還提供了經緯度信息(但不一定準) 3. 新浪的API:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=110.84.0.129 4. 騰訊的網頁查詢(返回的非json格式): http://ip.qq.com/cgi-bin/searchip?searchip1=110.84.0.129 5. ip.cn的網頁(返回的非json格式):http://www.ip.cn/index.php?ip=110.84.0.129 6. ip-api.com: http://ip-api.com/json/110.84.0.129
上述的API接口,大多有一個特點是, 返回的直接是個json格式
import json from urllib.request import urlopen # ip = input("請輸入你要查詢的Ip:") ip = "8.8.8.8" url = "http://ip.taobao.com/service/getIpInfo.php?ip=%s" %(ip) print(url) # 根據url獲取網頁的內容, 并且解碼為utf-8格式, 識別中文; text = urlopen(url).read().decode("utf-8") # print(text,type(text)) data = json.loads(text)["data"] country = data["country"] country_id = data["country_id"] print(country,country_id)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42441.html
摘要:對象存儲特定用戶會話所需的屬性及配置信息。當用戶請求來自應用程序的頁時,如果該用戶還沒有會話,則服務器將自動創建一個對象。當會話過期或被放棄后,服務器將終止該會話。因為的是通過加密之后放到了中。 什么是Session? cookie: 客戶端瀏覽器的緩存; session: 服務端服務器的緩存; Session 和 Cookie類似,都是通過字典管理 key-value對。Sessi...
摘要:是否則檢驗指定的對象是否存在。由于的模塊實現主要調用庫,所以各個平臺可能有所不同。時間格式時間戳的方式通常來說,時間戳是指格林威治時間年月日時分秒北京時間年月日時分秒起至現在的總秒數。元組方式元組共有個元素,返回的函數主要有,,。 os模塊 os模塊提供了多數操作系統的功能接口函數。當os模塊被導入后,它會自適應于不同的操作系統平臺,根據不同的平臺進行相應的操作,在python編程時,...
摘要:是建立可靠連接,并且通信雙方都可以以流的形式發送數據。相對,則是面向無連接的協議。測試結果用兩個命令行分別啟動服務器和客戶端測試開啟服務端完成一次通信 UDP TCP是建立可靠連接, 并且通信雙方都可以以流的形式發送數據。 相對TCP, UDP則是面向無連接的協議。使用UDP協議時, 不需要建立連接, 只需要知道對方的IP地址和端口號, 就可以直接發數據包。 但是, 能不能到達就不知道...
摘要:數據傳輸方式輸入類控件表單元素也稱表單控件,按照填寫方式分為輸入類和下拉菜單類。按鈕的名字按鈕上顯示的文本重置菜單列表控件下拉菜單可以節省頁面空間。是單標簽,用來定義下拉菜單中的選項。表示初始被選中的選項。 當用戶熟悉了靜態網頁制作后就能感受到它的功能單一,會想建立具有交互性的動態網站。動態網站經常用到的一個元素就是表單。表單是HTML的一個重要組成部分,是網站管理員與用戶之間溝通的橋...
摘要:數據傳輸方式輸入類控件表單元素也稱表單控件,按照填寫方式分為輸入類和下拉菜單類。按鈕的名字按鈕上顯示的文本重置菜單列表控件下拉菜單可以節省頁面空間。是單標簽,用來定義下拉菜單中的選項。表示初始被選中的選項。 當用戶熟悉了靜態網頁制作后就能感受到它的功能單一,會想建立具有交互性的動態網站。動態網站經常用到的一個元素就是表單。表單是HTML的一個重要組成部分,是網站管理員與用戶之間溝通的橋...
閱讀 978·2021-11-04 16:08
閱讀 2958·2021-09-13 10:37
閱讀 492·2019-08-30 15:56
閱讀 1928·2019-08-30 15:55
閱讀 2226·2019-08-30 15:53
閱讀 2071·2019-08-30 13:13
閱讀 2908·2019-08-30 12:51
閱讀 1532·2019-08-29 16:06