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

楼主 |
发表于 2019-3-21 09:14:04
|
显示全部楼层
本帖最后由 enjoy了哦 于 2019-3-21 09:53 编辑
# @/ K$ |/ n C+ C, y; c
& j# k9 [ @ L* ^- b9 o- P/ z$ }思路:, Q$ V) T+ N2 n# D
1. 首先将pdata数据写入一个字符串str中,
; T. Z: c9 S9 z) ^' S( W; |2. (载入base64模块后)调用base64.b64decode(str),将结果赋值给另一个变量binary_data。
: V- X! b: j! ?3 S M/ \3. 以二进制写入模式创建一个文件,例如data.gz。
$ g, W5 l& O3 A( B. ?4. 将binary_data写入data.gz中。
( j3 Q, V# `& F6 G; u j8 _5. 关闭该文件data.gz。
" R1 H$ i% e/ i: b4 ?4 i/ w
' p2 F% b7 s, t: @上Python代码:5 j4 W6 B$ o/ c2 L1 N
- import base64 i0 w6 e8 c7 g; z/ s( `
- 4 L8 Z8 s* W) V$ ]5 W- N7 P/ P
- str = '此处填入pdata数据'
, h) O- W/ q# k. D7 m: o/ X - binary_data = base64.b64decode(str)
" s& b/ b3 l8 @/ q - f = open('data.gz','wb')
& c6 s8 {) h% L6 r- D$ x" X* i - f.write(binary_data)
0 w5 O c/ v* n - f.close()
复制代码
1 h% S) y6 o! a6 R* L% J
( A+ i; X g/ C+ T: D. ?然后就可以打开data.gz观察解码出的数据。: d- T! @5 s# w( P* m
! C6 D# v' j/ l5 _3 ?
' s1 o8 j, X) k/ r7 x) S
如果是Python 3.2 及以上,还可以更方便一些:" ?! M: F3 j* U7 y' `3 @
- import base64. r& p2 g3 w/ N2 y0 y) s4 U
- import gzip
$ u6 x) ~, ?: X, ? - # _/ U( z* L8 L$ ~: m: q* W2 s2 E
- str = '此处填入pdata数据'* `! n$ B* E$ {& x$ n3 g! L
- binary_data = base64.b64decode(str), B* s7 y- F3 @! p* c( y
- dict_content = gzip.decompress(binary_data)
复制代码 2 G: I7 i: U$ T2 O0 Y+ M
这里的dict_content就是最终的结果,也就是词典的数据。
& Z. a+ f9 D3 ^6 ?: k- _( B |
|