當前位置:首頁 » 編程語言 » python解碼函數

python解碼函數

發布時間: 2022-12-30 12:30:24

python 中 base64 編碼與解碼

base64 是經常使用的一種加密方式,在 Python 中有專門的庫支持。

本文主要介紹在 Python2 和 Python3 中的使用區別:

在 Python2 環境:

在 Python3 環境:

Python3 中有一些區別,因為 Python3 中字元都是 unicode 編碼,而 b64encode 函數的參數為 byte 類型,所以必須先轉碼。

以上就是本文的全部內容,如果覺得有用的話歡迎 點贊 轉發 ,多謝。

推薦閱讀:

⑵ python基礎:內置函數、方法、轉義字元大全

在寫python程序時,常能用到一些函數和方法,總結一下,保存起來,方便查詢。

一、內置函數

# abs()獲取數字絕對值

# chr(i)數字轉換為字元類型

# divmod() 獲取兩個數值的商和余數

# enumerate() 將可遍歷序列組合為索引序列

# float()轉換為浮點數

# format() 格式化字元串

# int()轉換為整數 

# input() 接受用戶輸入內容

# len() 計算元素個數

# max() 返回最大值

# min() 返回最小值

# math.ceil() 返回指定數值的上舍整數

# open()打開文件並返迴文件對象

# pow() 冪運算

# print()列印輸出 

# range() 生成器

# reversed()反轉所有元素

# round()四捨五入求值

# sorted()對可迭代對象進行排序 

# str() 轉換為字元串

# sum() 求和

# set() 創建集合

# tuple() 將序列轉換為元組

# zip()將可迭代對象打包成元組

二、方法

# append() 添加列表元素

# capitalize()首字母轉換為大寫 

# count()字元出現次數

# close() 關閉文件

# decode() 解碼字元串

# dict.keys() 獲取字典所有的鍵

# find()字元串首次出現的索引

# f.read() 讀取文件內容

# dict.update()更新字典

# dict.items() 獲取字典鍵/值對

# dict.get() 返回指定鍵的值

# encode() 編碼字元串

# list.sort() 排序列表元素

# index() 元素首次出現的索引

# isdigit() 判斷字元串是否只由數字組成

# isupper() 是否所有字母都為大寫

# isnum() 判斷字元串是否由字母和數字組成

# islower() 是否所有字母都為小寫

# isdecimal() 檢查字元串是否只包含十進制字元

# isalpha() 檢測字元串是否為純字母

# random.shuffle()隨機排序

# random.sample()返回無重復隨機數列表

# random.choice() 返回一個隨機元素

# random.randint() 生成指定范圍的隨機整數

# random.randrange() 生成指定范圍的指定遞增基數隨機整數

# pop() 刪除列表中的元素

# remove()刪除列表中的指定元素

# strip()去除空格

# lstrip()去除左側空格

# rstrip() 去除右側空格

# readline() 讀取單行內容

# root.after() Tkinter中等待一段時間後再執行命令

# str.isnumeric() 驗證字元串是否為數字(適用於Unicode)

# split()分割字元串

# ord() 將字元轉換為整數

# replace() 字元串替換

# ljust() 左對齊填充

# rjust() 左對齊填充

# readlines() 讀取所有行內容

# datetime.datetime.now() 返回指定時區的本地日期時間

# datetime.datetime.today() 獲取當前本地日期的date對象

# datetime.utcnow() 返回當前UTC時間的datetime對象

# time.strptime()把時間字元串解析為元組

# time.time()返回當前時間的時間戳

# time.sleep()暫停指定秒數

# time.strftime() 返回指定格式的日期字元串

# time.mktime() 接收時間元組並返回時間戳

# os.getcwd() 獲取當前工作目錄

# os.listdir() 獲取指定路徑下的目錄和文件列表

# os.makedirs() 遞歸創建目錄

# os.rename() 重命名目錄或文件

# os.path.exists() 判斷路徑是否存在

# upper() 全部轉換為大寫字母

# lower()  全部轉換為小寫字母

# sys.stdout.write() 標准輸出列印

# sys.stdout.flush()刷新輸出 

# shutil.() 復制單個文件到另一文件或目錄

# write() 寫入文件內容

# winsound.Beep() 打開電腦揚聲器

# zfill() 在字元串前面填充0

三、循環語句

# break終止當前循環

# continue 終止本循環進入下一次循環

# with open() as file 以with語句打開文件(數據保存)

四、轉義字元

\ 行尾續行符

\' 單引號 

\'' 雙引號

\a 響鈴

\e 轉義

\n 換行

\t 橫向製表符

\f 換頁

\xyy 十六進制yy代表的字元

\\反斜杠符號

\b 退格

\000 空

\v 縱向製表符

\r 回車

\0yy 八進制yy代表的字元

\other 其他的字元以普通格式輸出

⑶ python json快速解析命令

json.mps 用於將 Python 對象編碼成 JSON 字元串。
json.loads 用於解碼 JSON 數據。該函數返回 Python 欄位的數據類型。
demjson.encode() 函數用於將 Python 對象編碼成 JSON 字元串。
demjson.decode() 函數解碼 JSON 數據。該函數返回 Python 欄位的數據類型。
1、以下實例將數組編碼為 JSON 格式數據:
#!/usr/bin/python
import json

data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
json = json.mps(data)
print json

2、以下實例展示了Python 如何解碼 JSON 對象:
#!/usr/bin/python
import json

jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
text = json.loads(jsonData)
print text

⑷ Python網路請求和解析json數據

Python 的 json 模塊提供了兩個函數 json.mps() 和 json.loads() 來編碼和解碼JSON數據。

如果要處理的是文件而不是字元串,可以使用 json.mp() 和 json.load() 來編碼和解碼JSON數據。例如:

⑸ 【Python】淺談python中的json

一 前言  

   最近一直在做開發相關的工作--基於Django的web 平台,其中需要從model層傳輸數據到view 層做數據展示或者做業務邏輯處理。我們採用通用的Json格式--Json(JavaScript Object Notation) 是一種輕量級的數據交換格式,易於閱讀和程序解析。

二 認識Json

   2.1 Json 結構

   常見的Json格式為 「名稱/值」對的集合,其中 值可以是對象,列表,字典,字元串等等。比如

backup_data = {"back_to_host": "dbbk0",

"ip_address": "10.10.20.3",

"host_name": "rac4",

"port": 3306}

  2.2 使用Json

  Python的Json模塊序列化與反序列化的過程分別是 編碼和解碼。這兩個過程涉及到兩組不同的函數

  編碼 把一個Python對象編碼轉換成Json字元串,json.mps(data)/json.mp(data,file_handler)

  解碼 把Json格式字元串解碼轉換成Python對象,json.loads(data)/json.load(file_handler)

  在python中要使用Json模塊做相關操作,必須先導入:

import Json

  2.3 主要函數

  編碼函數主要有 json.mps(data)/json.mp(data,file_handler)

   json.mps()的參數是將python對象轉換為字元串,如使用json.mps序列化的對象json_mps=json.mps({'a':1, 'b':2}) ,json_mps='{"b": 2, "a": 1}'

   json.mp 是將內置類型序列化為json對象後寫入文件。

 解碼函數主要由json.loads(data)/json.load(file_handler)  

    json.loads的參數是內存對象,把Json格式字元串解碼轉換成Python對象,json_loads=json.loads(d_json)  #{ b": 2, "a": 1},使用load重新反序列化為dict

    json.load()的參數針對文件句柄,比如本地有一個文件/tmp/test.json  json_load=json.load(open('/tmp/test.json'))

具體案例參考如下:

In [3]: data={"back_to_host": "rac1",

...: "ip_address": "10.215.20.3",

...: "host_name": "rac3",

...: "port": 3306}

In [7]: json_str=json.mps(data)

In [8]: print json_str

{"ip_address": "10.215.20.3", "back_to_host": "rac1", "host_name": "rac3", "port": 3306}

In [9]: json_loads=json.load(json_str)

---------------------------------------------------------------------------

AttributeError Traceback (most recent call last)

<ipython-input-9-180506f16431> in <mole>()

----> 1 json_loads=json.load(json_str)

/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.pyc in load(fp, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)

284

285 ""

注意 從上面的報錯信息來看 json.loads 傳參是字元串類型,並不是文件句柄,沒有 read()屬性。

In [10]: json_loads=json.loads(json_str)

In [11]: print json_loads

{u'back_to_host': u'rac1', u'ip_address': u'10.215.20.3', u'host_name': u'rac3', u'port': 3306}

In [12]: type(json_loads)

Out[12]: dict

In [13]: type(json_str)

Out[13]: str

利用mp 將數據寫入 mp.json

In [17]: with open('/tmp/mp.json','w') as f:

...: json.mp(json_str,f)

...:

yangyiDBA:~ yangyi$ cat /tmp/mp.json

"{\"ip_address\": \"10.10.20.3\", \"back_to_host\": \"rac1\", \"host_name\": \"rac3\", \"port\": 3306}"

yangyiDBA:~ yangyi$

利用json.load 將mp.sjon的數據讀出來並賦值給 data 

In [18]: with open('/tmp/mp.json','r') as f:

...: data=json.load(f)

...:

In [19]: print data

{"ip_address": "10.10.20.3", "back_to_host": "rac1", "host_name": "rac3", "port": 3306}

三 小結

  本文算是一篇學習筆記,主要對比了json.loads/json.load  , json.mps/ json.mp 的使用差異 ,方便以後更好的使用json 。

以上為本次分享內容,感謝觀看。

⑹ 用python怎麼解析'%3cp%3e%e5%'

import urllib
rawurl=xxx
url=urllib.unquote(rawurl)

所用模塊:urllib
所用函數:urllib.unquote()
案例
import urllib
rawurl = "%E6%B2%B3%E6%BA%90"url = urllib.unquote(rawurl)print url

輸出
河源

問題擴展
urllib.unquote()目的是對url編碼進行解碼,與該函數對應的是編碼函數urllib.quote()

123

>>> import urllib>>> urllib.quote("河源")'%E6%B2%B3%E6%BA%90

URL為何要編碼、解碼?
通常如果一樣東西需要編碼,說明這樣東西並不適合傳輸。原因多種多樣,如Size過大,包含隱私數據。對於Url來說,之所以要進行編碼,是因為Url中有些字元會引起歧義。
例如,Url參數字元串中使用key=value鍵值對這樣的形式來傳參,鍵值對之間以&符號分隔,如/s?q=abc&ie=utf-8。如果你的value字元串中包含了=或者&,那麼勢必會造成接收Url的伺服器解析錯誤,因此必須將引起歧義的&和=符號進行轉義,也就是對其進行編碼。
又如,Url的編碼格式採用的是ASCII碼,而不是Unicode,這也就是說你不能在Url中包含任何非ASCII字元,例如中文。否則如果客戶端瀏覽器和服務端瀏覽器支持的字元集不同的情況下,中文可能會造成問題。

⑺ Python基本編碼格式

1、一般來說,聲明編碼格式在腳本中是必需的。2、如果Python源碼文件沒有聲明編碼格式,Python解釋器會默認使用ASCII編碼。但出現非ASCII編碼的字元,Python解釋器就會報錯。

1、Python 採用代碼縮進和冒號( : )來區分代碼塊之間的層次。2、在 Python 中,對於類定義、函數定義、流程式控制制語句、異常處理語句等,行尾的冒號和下一行的縮進,表示下一個代碼塊的開始,而縮進的結束則表示此代碼塊的結束。3、Python 中實現對代碼的縮進,可以使用空格或者 Tab 鍵實現。但無論是手動敲空格,還是使用 Tab 鍵,通常情況下都是採用 4 個空格長度作為一個縮進量(默認情況下,一個 Tab 鍵就表示 4 個空格)。4、對於 Python 縮進規則,初學者可以這樣理解,Python 要求屬於同一作用域中的各行代碼,它們的縮進量必須一致,但具體縮進量為多少,並不做硬性規定。

正確示例代碼:

錯誤示例代碼:

Python中使用 # 進行注釋,我們在使用# 的時候,# 號後面要空一格在行內注釋的時候,中間應該至少加兩個空格

print("你好,世界") # 注釋

** 使用的一般性原則:**

1、在二元運算符兩邊各空一格,算術操作符兩邊的空格可靈活使用,但兩側務必要保持一致2、不要在逗號、分號、冒號前面加空格,但應該在它們後面加(除非在行尾)3、函數的參數列表中,逗號之後要有空格4、函數的參數列表中,默認值等號兩邊不要添加空格5、左括弧之後,右括弧之前不要加添加空格6、參數列表, 索引或切片的左括弧前不應加空格

使用的一般性原則:

1、編碼格式聲明、模塊導入、常量和全局變數聲明、頂級定義和執行代碼之間空兩行2、頂級定義之間空兩行,方法定義之間空一行3、在函數或方法內部,可以在必要的地方空一行以增強節奏感,但應避免連續空行

1、導入總應該放在文件頂部,位於模塊注釋和文檔字元串之後,模塊全局變數和常量之前。

2、導入應該按照從最通用到最不通用的順序分組,分組之間空一行:

3、每個 import 語句只導入一個模塊,盡量避免一次導入多個模塊

命名規范這一塊的大家應該都比較熟悉了,但是不同的編程語言之間的明明規范也是有所區別的~

Python命名建議遵循的一般性原則:

引號使用的一般性原則:

Python跟其他幾個主流編程語言的分號使用區別很大Python的代碼末尾不需要加分號,而Java和C#等都需要添加

不要在行尾添加分號,也不要用分號將兩條命令放在同一行,例如:

Python學習日記

熱點內容
華為雲穩定伺服器 發布:2025-07-02 13:58:09 瀏覽:428
安卓游戲在哪裡下載免費 發布:2025-07-02 13:58:08 瀏覽:595
mts壓縮 發布:2025-07-02 13:53:31 瀏覽:964
資料庫的事務事務 發布:2025-07-02 13:51:15 瀏覽:610
買五菱s3哪個配置好 發布:2025-07-02 13:51:11 瀏覽:773
天乾地支對照表及演算法 發布:2025-07-02 13:50:04 瀏覽:786
我的世界上線送神裝伺服器 發布:2025-07-02 13:48:24 瀏覽:316
多ip雲伺服器怎麼設置 發布:2025-07-02 13:46:29 瀏覽:68
鳥哥的linux私房菜基礎篇第三版 發布:2025-07-02 13:44:46 瀏覽:107
我姐姐手機上的密碼多少的短視頻 發布:2025-07-02 13:09:10 瀏覽:800