TA的每日心情 | 开心 2023-3-10 21:15 |
|---|
签到天数: 1329 天 [LV.10]以坛为家III
|

楼主 |
发表于 2019-3-21 09:14:04
|
显示全部楼层
本帖最后由 enjoy了哦 于 2019-3-21 09:53 编辑 3 Q5 `& L4 L1 N+ l/ ^5 k9 p5 Y" H
* e3 @$ y4 }0 v$ I) R! s" Y
思路:
7 `+ c$ Z' S% X" ]1 w5 ?' f1. 首先将pdata数据写入一个字符串str中," u) Q8 r! V8 S
2. (载入base64模块后)调用base64.b64decode(str),将结果赋值给另一个变量binary_data。* s0 k$ _+ H- _/ I1 G
3. 以二进制写入模式创建一个文件,例如data.gz。
4 b0 K. a) A( Z9 z6 G( q8 a R4 e4. 将binary_data写入data.gz中。' l4 F) g& U L- A" ~
5. 关闭该文件data.gz。3 K" A+ `8 [" c5 _8 J Z# \4 P
, ] H. d& K% w/ A8 S上Python代码:
; v5 u! L2 `4 f/ I0 ~* B2 b. L- import base64% s: E% p7 S' h3 S) p* c
- 5 m% N* j: G4 E3 }" `8 I
- str = '此处填入pdata数据'; C M$ N/ f6 T
- binary_data = base64.b64decode(str)
* L n9 ]* `! K3 T/ r$ U3 W - f = open('data.gz','wb')
. `8 x1 `' e1 S8 z5 P' W5 B) @ - f.write(binary_data). \- D; ~$ t0 R* A
- f.close()
复制代码
' t2 v( r* p; `, s7 K# d
& o! V: D6 N$ D然后就可以打开data.gz观察解码出的数据。" Q& Z; S% `) ]: _
# U# L6 T) |# W l9 Y1 V7 x O- A" y; H" m" U; i
如果是Python 3.2 及以上,还可以更方便一些: \) o. W* z! q4 j
- import base64- }+ C3 d: X. q: n, v+ I9 E1 C
- import gzip
: ^) k) U6 Y2 R% Z+ d) B0 Z - / Z- W1 R: v+ j/ i- {
- str = '此处填入pdata数据'+ s6 m, b5 T+ A9 }8 J( m
- binary_data = base64.b64decode(str)
. U6 z- T) s! \3 P - dict_content = gzip.decompress(binary_data)
复制代码 ' }$ Q7 L/ N8 I: S" R/ K" C0 o- X+ W! S5 {
这里的dict_content就是最终的结果,也就是词典的数据。
; N! ?; M" d! ]) j8 j k |
|