成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python大佬養(yǎng)成計劃----讀寫json數(shù)據(jù)

CodeSheep / 502人閱讀

摘要:是一種輕量級的數(shù)據(jù)交換格式,易于人閱讀和編寫。使用函數(shù)需要導入模塊將對象編碼成字符串用于解碼數(shù)據(jù)。該函數(shù)返回字段的數(shù)據(jù)類型。

json

使用 Python 語言來編碼和解碼 JSON 對象。
JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式,易于人閱讀和編寫。使用json函數(shù)需要導入json模塊

json.dumps

將 Python 對象編碼成 JSON 字符串

json.loads

用于解碼 JSON 數(shù)據(jù)。該函數(shù)返回 Python 字段的數(shù)據(jù)類型。

基礎命令

將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()參數(shù)

indent

應該是一個非負的整型,如果是0,或者為空,則一行顯示數(shù)據(jù);否則會換行且按照indent的數(shù)量顯示前面的空白

sort_keys

將數(shù)據(jù)根據(jù)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,或者為空,則一行顯示數(shù)據(jù);否則會換行且按照indent的數(shù)量顯示前面的空白
    #sort_keys:將數(shù)據(jù)根據(jù)keys的值進行排序
    #separators = ("每個元素間的分隔符", “key和value之間的分隔符”)
    json.dump(dict,f,indent=4,sort_keys=True, separators=(";", "="))


#為何最后文件不夠100行?
#因為隨機選取的key值可能會重復,字典類型的key不允許重復,最后得到的數(shù)據(jù)會少于你給定的100次

查詢IP地址

根據(jù)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 這個還提供了經(jīng)緯度信息(但不一定準)
3. 新浪的API:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=110.84.0.129
4. 騰訊的網(wǎng)頁查詢(返回的非json格式): http://ip.qq.com/cgi-bin/searchip?searchip1=110.84.0.129
5. ip.cn的網(wǎng)頁(返回的非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)
# 根據(jù)url獲取網(wǎng)頁的內容, 并且解碼為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)

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/42441.html

相關文章

  • python大佬養(yǎng)成計劃----flask的Session設置

    摘要:對象存儲特定用戶會話所需的屬性及配置信息。當用戶請求來自應用程序的頁時,如果該用戶還沒有會話,則服務器將自動創(chuàng)建一個對象。當會話過期或被放棄后,服務器將終止該會話。因為的是通過加密之后放到了中。 什么是Session? cookie: 客戶端瀏覽器的緩存; session: 服務端服務器的緩存; Session 和 Cookie類似,都是通過字典管理 key-value對。Sessi...

    Gilbertat 評論0 收藏0
  • python大佬養(yǎng)成計劃----os,datetime,time模塊補充

    摘要:是否則檢驗指定的對象是否存在。由于的模塊實現(xiàn)主要調用庫,所以各個平臺可能有所不同。時間格式時間戳的方式通常來說,時間戳是指格林威治時間年月日時分秒北京時間年月日時分秒起至現(xiàn)在的總秒數(shù)。元組方式元組共有個元素,返回的函數(shù)主要有,,。 os模塊 os模塊提供了多數(shù)操作系統(tǒng)的功能接口函數(shù)。當os模塊被導入后,它會自適應于不同的操作系統(tǒng)平臺,根據(jù)不同的平臺進行相應的操作,在python編程時,...

    frank_fun 評論0 收藏0
  • python大佬養(yǎng)成計劃----socket實現(xiàn)UDP通信

    摘要:是建立可靠連接,并且通信雙方都可以以流的形式發(fā)送數(shù)據(jù)。相對,則是面向無連接的協(xié)議。測試結果用兩個命令行分別啟動服務器和客戶端測試開啟服務端完成一次通信 UDP TCP是建立可靠連接, 并且通信雙方都可以以流的形式發(fā)送數(shù)據(jù)。 相對TCP, UDP則是面向無連接的協(xié)議。使用UDP協(xié)議時, 不需要建立連接, 只需要知道對方的IP地址和端口號, 就可以直接發(fā)數(shù)據(jù)包。 但是, 能不能到達就不知道...

    Juven 評論0 收藏0
  • python大佬養(yǎng)成計劃----HTML網(wǎng)頁設計(表單)

    摘要:數(shù)據(jù)傳輸方式輸入類控件表單元素也稱表單控件,按照填寫方式分為輸入類和下拉菜單類。按鈕的名字按鈕上顯示的文本重置菜單列表控件下拉菜單可以節(jié)省頁面空間。是單標簽,用來定義下拉菜單中的選項。表示初始被選中的選項。 當用戶熟悉了靜態(tài)網(wǎng)頁制作后就能感受到它的功能單一,會想建立具有交互性的動態(tài)網(wǎng)站。動態(tài)網(wǎng)站經(jīng)常用到的一個元素就是表單。表單是HTML的一個重要組成部分,是網(wǎng)站管理員與用戶之間溝通的橋...

    nevermind 評論0 收藏0
  • python大佬養(yǎng)成計劃----HTML網(wǎng)頁設計(表單)

    摘要:數(shù)據(jù)傳輸方式輸入類控件表單元素也稱表單控件,按照填寫方式分為輸入類和下拉菜單類。按鈕的名字按鈕上顯示的文本重置菜單列表控件下拉菜單可以節(jié)省頁面空間。是單標簽,用來定義下拉菜單中的選項。表示初始被選中的選項。 當用戶熟悉了靜態(tài)網(wǎng)頁制作后就能感受到它的功能單一,會想建立具有交互性的動態(tài)網(wǎng)站。動態(tài)網(wǎng)站經(jīng)常用到的一個元素就是表單。表單是HTML的一個重要組成部分,是網(wǎng)站管理員與用戶之間溝通的橋...

    羅志環(huán) 評論0 收藏0

發(fā)表評論

0條評論

CodeSheep

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<