由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - python binary string问题 (转载)
相关主题
Python Browsermob Proxy Library on mac issue请问如何将c/c++ 中的ascii 文件存为binary 文件,
Java 提高performance问题怎么用matlab把binary文件转化成ascii文件?
做web服务的语言D3.js JSON data
JavaScript is eating the world, JSON is replacing xml.请教一个C++的设计问题
python有快速loop over dict的方法吗?问个文字decoding的题目
python, 怎么能把 tree存到 memory了 ?请问大家一个eclipse CDT的问题 (转载)
Python unicode问题《Python参考手册 (第4版)》[PDF]
求教, python 对于很奇怪的字符的encoding 怎么处理?写脚本真麻烦
相关话题的讨论汇总
话题: ddl话题: data话题: multidict话题: newkey话题: str
进入Programming版参与讨论
1 (共1页)
l******n
发帖数: 9344
1
【 以下文字转载自 JobHunting 讨论区 】
发信人: longtian (有人的地方,就有江湖), 信区: JobHunting
标 题: python binary string问题
发信站: BBS 未名空间站 (Fri Dec 16 14:30:41 2016, 美东)
收到这样的binary string, b'{"DATA":1,"DATA":100}
怎么转化成dict?特别是key是重复的
bow
w***g
发帖数: 5958
2
你需要用json.

【在 l******n 的大作中提到】
: 【 以下文字转载自 JobHunting 讨论区 】
: 发信人: longtian (有人的地方,就有江湖), 信区: JobHunting
: 标 题: python binary string问题
: 发信站: BBS 未名空间站 (Fri Dec 16 14:30:41 2016, 美东)
: 收到这样的binary string, b'{"DATA":1,"DATA":100}
: 怎么转化成dict?特别是key是重复的
: bow

l******n
发帖数: 9344
3
本来就是json的format,我知道可以decode成python string,然后就是key问题。我觉
得这个例子最后结果是只有data:100, 前面的值就lost了

【在 w***g 的大作中提到】
: 你需要用json.
e*******o
发帖数: 4654
4
>>> import json
>>> from multidict import MultiDict
>>> bin_str = b'{"DATA":1,"DATA":100}'
>>> json.loads(bin_str.decode('ascii'), object_pairs_hook=MultiDict)

baozi please.
N*****m
发帖数: 42603
5
正想说这个

【在 e*******o 的大作中提到】
: >>> import json
: >>> from multidict import MultiDict
: >>> bin_str = b'{"DATA":1,"DATA":100}'
: >>> json.loads(bin_str.decode('ascii'), object_pairs_hook=MultiDict)
:
: baozi please.

l******n
发帖数: 9344
6
非常感谢,包子马上就到
不过只有python3支持multidict,python2不行

【在 e*******o 的大作中提到】
: >>> import json
: >>> from multidict import MultiDict
: >>> bin_str = b'{"DATA":1,"DATA":100}'
: >>> json.loads(bin_str.decode('ascii'), object_pairs_hook=MultiDict)
:
: baozi please.

N*****m
发帖数: 42603
7
customize your own object_pairs_hook

【在 l******n 的大作中提到】
: 非常感谢,包子马上就到
: 不过只有python3支持multidict,python2不行

e*******o
发帖数: 4654
8
multidict 不清楚
flask 肯定支持2
http://werkzeug.pocoo.org/docs/0.10/datastructures/#werkzeug.datastructures.MultiDict

【在 l******n 的大作中提到】
: 非常感谢,包子马上就到
: 不过只有python3支持multidict,python2不行

l******n
发帖数: 9344
9
这是个好主意,有没有个例子。比如
就前面那个例子怎么弄

【在 N*****m 的大作中提到】
: customize your own object_pairs_hook
w*x
发帖数: 518
10
做过一次,pythonic正解是:
python ast literal_eval
n****l
发帖数: 1739
11
def to_dl(lt):
ddl = defaultdict(list)
for t in lt:
ddl[t[0]].append(t[1])
return dict(ddl)
dl = json.loads(bin_str.decode('ascii'), object_pairs_hook=to_dl)
dl['DATA'][0]
1

【在 l******n 的大作中提到】
: 这是个好主意,有没有个例子。比如
: 就前面那个例子怎么弄

l******n
发帖数: 9344
12
学习了,多谢

【在 n****l 的大作中提到】
: def to_dl(lt):
: ddl = defaultdict(list)
: for t in lt:
: ddl[t[0]].append(t[1])
: return dict(ddl)
: dl = json.loads(bin_str.decode('ascii'), object_pairs_hook=to_dl)
: dl['DATA'][0]
: 1

k*****3
发帖数: 226
13
不用multidict的话,如果不并行处理,把key变换下
def to_dl(lt):
ddl = defaultdict(list)
for t in lt:
if t[0] in ddl:
newkey = str(t[0]) + '0'
cnt = 0
while (newkey in ddl)
cnt = cnt + 1
newkey = str(t[0]) + str(cnt)
ddl[newkey] = t[1]
else
ddl[t[0]] = t[1]
return dict(ddl)
1 (共1页)
进入Programming版参与讨论
相关主题
写脚本真麻烦python有快速loop over dict的方法吗?
受不了python了python, 怎么能把 tree存到 memory了 ?
python 2/python 3这是怎么一回事呀Python unicode问题
why I can not import Tkinter?求教, python 对于很奇怪的字符的encoding 怎么处理?
Python Browsermob Proxy Library on mac issue请问如何将c/c++ 中的ascii 文件存为binary 文件,
Java 提高performance问题怎么用matlab把binary文件转化成ascii文件?
做web服务的语言D3.js JSON data
JavaScript is eating the world, JSON is replacing xml.请教一个C++的设计问题
相关话题的讨论汇总
话题: ddl话题: data话题: multidict话题: newkey话题: str