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

楼主 |
发表于 2019-3-21 09:14:04
|
显示全部楼层
本帖最后由 enjoy了哦 于 2019-3-21 09:53 编辑 ; i. J- ]- H- z" A2 B i
haoduodianying 发表于 2019-3-20 14:11" R9 v; p8 I) ^* x9 h4 f* E! z% j
楼主大神 膜拜中。 * w! \( B7 L' T; [5 c5 K6 x9 \
6 C% v& |) b% a; X楼主所言 : 通过Python的 Base64 模块将上述pdata数据转换成二进制gzip文件 : `. s7 C1 Y7 r) i
思路:/ K* C' s G5 z' @+ N. t2 z2 w! Z& d
1. 首先将pdata数据写入一个字符串str中,
8 b" c0 K; j7 ^5 i2. (载入base64模块后)调用base64.b64decode(str),将结果赋值给另一个变量binary_data。. C- q& x& Z8 p6 e2 O3 I
3. 以二进制写入模式创建一个文件,例如data.gz。' }) B9 u; e: ]' v* W
4. 将binary_data写入data.gz中。
1 b2 H5 s( B/ O+ Q3 A |) D5. 关闭该文件data.gz。* ^+ b* C1 H6 K6 l- j) M8 {9 A
- S! f* F9 ]! E6 x" b上Python代码:
' Q! i3 M, H: B F! x- import base64
& |) U7 { _6 F5 M$ p, e - 8 n$ @" r9 c4 c! U! Y& `1 m
- str = '此处填入pdata数据') e' ?" u8 [8 q1 J$ g
- binary_data = base64.b64decode(str)2 W; z+ A5 j3 z& T4 P
- f = open('data.gz','wb')8 d r" Z7 l/ z9 w* `6 S
- f.write(binary_data)
+ n4 l8 w8 ?) c% }1 i" V, U& ^ - f.close()
复制代码 ; B; X# a+ {5 T0 T W
9 N% c- e8 h1 m8 ]) Y
然后就可以打开data.gz观察解码出的数据。
$ H! O, c% g" m, p+ f8 P4 Z7 s3 T5 B* h0 X2 D) ]0 O
9 Q4 e6 [5 g: e$ O1 j如果是Python 3.2 及以上,还可以更方便一些:7 u6 P. K9 ]0 m" \0 Q
- import base64
' d! h% `9 J' `2 r0 H% [6 i, n - import gzip
5 n( o* r: l& H
* Q" ^. o, ^1 `8 D# C' Y- str = '此处填入pdata数据'* e4 V) E/ m; u! P
- binary_data = base64.b64decode(str). W" s: ~+ d; V- C
- dict_content = gzip.decompress(binary_data)
复制代码
5 r n, P J9 U, z6 h这里的dict_content就是最终的结果,也就是词典的数据。
/ G2 J: q8 a# T2 G0 j4 @: T- n3 N& m |
|