Python中文
首页
教程
问答
标签
搜索
登录
注册
Python字典:防止以前的值不被新值覆盖
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在寻找想法,指针,以帮助我达成一个解决方案,以防止以前的价值观被过度书写。我看到了一些列表实现,但是想看看是否有更好的方法</p> <p>场景: 我想读一个Wireshark解码的文件,然后把信息放到Python字典中。我已经编写了代码,并开始将数据放入字典,从DNS数据开始,我已经在问题中包含了这些数据。 代码读入第一个DNS主机的数据并填充字典。现在,当涉及到第二个主机的标识“1”时,它会覆盖DNS数据值,包括主机标识字段。在</p> <p>代码片段是</p> <pre><code>dictionarynetworkobject = {} dictionarynetworkobject['DNS']['HostId'] = 0 </code></pre> <p>但是</p> ^{pr2}$ <p>覆盖,主机ID为0的数据。同样的事情也发生在TCP序列ID和HTTP数据上。 我看了很多,但是没有找到一个更好的方法来添加,不同的值“主机号”、“TCP序列号”和“HTTP交易号”,在写入第一个值之后。在</p> <p>我已经看过更新,方法,但它不起作用。我也试过了</p> <pre><code>from collections import defaultdict def tree(): return defaultdict(tree) dictionarynetworkobject = tree() </code></pre> <p>但这也行不通。我想在这件事上挑起大家的脑筋。下面是我要实现的结构。在</p> <pre><code>networList = { 'DNS': { 'Host_Id' : { { '0': {'Local_Time':2015-10-02 17:20, 'DNS_Time': 2015-10-02 17:20, 'Num_Bytes':265, 'IP':1.2.3.4,'IPMODE':IPV4}}, { '1': {<-OverWriting the Previous Data->}}, { '2': {<-OverWriting the Previous Data->}}, { '3': {<-OverWriting the Previous Data->}} } } 'TCP': { 'TCP_SEQ_NO': { {'0': {TCP network data}}, {'2': {TCP network data}}, {'3': {TCP network data}}, {'4': {TCP network data}} } }, 'HTTP': { 'HTTP_Transaction_id': { {'0': {HTTP data}}, {'1': {HTTP data}}, {'2': {HTTP data}}, {'3': {HTTP data}} } } } ________________________ Data for the DNS ____________________________________ Local_Time Host_Id DNS_Time Num_Bytes IP IPMODE 2015-10-02 17:20 0 2015-10-02 17:20 265 1.2.3.4 IPV4 2015-10-02 17:20 1 2015-10-02 17:20 106 5.6.7.8 IPV4 2015-10-02 17:20 2 2015-10-02 17:20 912 8.7.6.5 IPV4 2015-10-02 17:20 3 2015-10-02 17:20 913 4.3.2.1 IPV4 ________________________________________________________________________________ </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>据Python所知,您的代码只是将位置<code>dictionarynetworkobject['DNS']['HostId']</code>设置为新值,正如其他人所说,您需要做的是使该值成为一个列表,然后将新值附加到该列表中</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
1 回答
如何添加表示整数的擦边字符串?
10 回答
如何添加要在Bokeh中使用的新font.ttf文件?
1 回答
如何添加要显示的矩阵XY轴编号和XY轴
9 回答
如何添加计数?
8 回答
如何添加计数器函数?
1 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
10 回答
如何添加计数器来跟踪while循环中的月份和年份?
9 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
2 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
4 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
3 回答
如何添加评论拉梅尔亚姆
6 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
2 回答
如何添加谷歌地点自动完成到Flask?
3 回答
如何添加超时、python discord bot
8 回答
如何添加超过1dp的检查
3 回答
如何添加距离方法
3 回答
如何添加跟随游戏的敌人精灵
7 回答
如何添加路径以便python可以找到程序?
1 回答
如何添加身份验证/安全性以使用happybase访问HBase?
9 回答