TA的每日心情 | 开心 2023-3-10 21:15 |
---|
签到天数: 1329 天 [LV.10]以坛为家III
|
楼主 |
发表于 2019-3-21 09:14:04
|
显示全部楼层
本帖最后由 enjoy了哦 于 2019-3-21 09:53 编辑 ) x/ J& S! q$ A( n
haoduodianying 发表于 2019-3-20 14:11
2 p; d& W! q. e0 M6 {) q楼主大神 膜拜中。 7 r& M3 S* z0 _+ m/ D7 j/ d( z' |2 P
' V$ R8 [7 }6 ~5 O9 ]5 ] m2 e. Y
楼主所言 : 通过Python的 Base64 模块将上述pdata数据转换成二进制gzip文件 5 K$ A9 v. |% ^5 c7 h$ F8 V8 n# v) a" @
思路:. x0 \1 F- v0 N4 x' f
1. 首先将pdata数据写入一个字符串str中,
+ n3 r8 Y; O1 c9 g: u2. (载入base64模块后)调用base64.b64decode(str),将结果赋值给另一个变量binary_data。
. |' P7 c4 z$ e1 a3. 以二进制写入模式创建一个文件,例如data.gz。* B2 q. [0 ~/ _3 Y/ T( T: ?( P
4. 将binary_data写入data.gz中。- q4 f7 c: J- H" I) R. n
5. 关闭该文件data.gz。
! |4 ]1 p" n) R2 c" r. K
" w' B t. Q- U6 h! e' l: R) v上Python代码:
/ S, ]% N8 ^) \6 [* [, K8 j+ W! {- import base64
' V' h1 t# ^' c6 `; N
5 S: I* u4 S( R( e% C- str = '此处填入pdata数据'
3 e5 R' \9 [7 @) R - binary_data = base64.b64decode(str)
( \& w E2 U X T% o, Y; {( \ - f = open('data.gz','wb')6 e, k8 ]+ G" ?1 Y* ~
- f.write(binary_data)8 @6 D: E( u. a3 h$ T
- f.close()
复制代码
5 M# `1 \; Y, s- k
. m; c# a5 Y Y6 n然后就可以打开data.gz观察解码出的数据。$ t Y, n6 g j) m
* R9 a3 ?9 |1 k+ t
0 |7 j4 E" `- x/ d; N+ j
如果是Python 3.2 及以上,还可以更方便一些:& ?9 c8 c: y9 {" K% A4 D* Z9 M8 R* s, q( S
- import base64
3 O+ G: S/ B( c9 v; g1 k# E- _ - import gzip
! T+ ^3 G; p) A* L" ^2 i
5 u w9 ~! F) E4 O; h: R) l( i6 v- str = '此处填入pdata数据'
7 D6 Q( N% m' F% Q% O1 | - binary_data = base64.b64decode(str)
. {! T4 _/ U; {/ J - dict_content = gzip.decompress(binary_data)
复制代码
7 N, J% ]$ G1 L! @( `; Y; v: P/ X这里的dict_content就是最终的结果,也就是词典的数据。2 P; s2 {8 B! g; D1 O) H
|
|