小编Pie*_*rre的帖子

Scapy和Python 3.2

Scapy会与Python 3.2兼容吗?我一直试图找到一些关于它如何执行的信息,因为Scapy网站上有关于Python 3.X兼容性的相当稀少(如果有的话)信息,而且我没有提供任何信息.有没有人尝试在Python 3.X上使用它以及它是如何执行的?

scapy python-3.x

11
推荐指数
2
解决办法
9399
查看次数

在Spark中将Dataframe转换为Map(键值)

所以,我在Spark中有一个DataFrame,如下所示:

它有30列:只显示其中的一些!

[ABCD,color,NORMAL,N,2015-02-20,1]
[XYZA,color,NORMAL,N,2015-05-04,1]
[GFFD,color,NORMAL,N,2015-07-03,1]
[NAAS,color,NORMAL,N,2015-08-26,1]
[LOWW,color,NORMAL,N,2015-09-26,1]
[KARA,color,NORMAL,N,2015-11-08,1]
[ALEQ,color,NORMAL,N,2015-12-04,1]
[VDDE,size,NORMAL,N,2015-12-23,1]
[QWER,color,NORMAL,N,2016-01-18,1]
[KDSS,color,NORMAL,Y,2015-08-29,1]
[KSDS,color,NORMAL,Y,2015-08-29,1]
[ADSS,color,NORMAL,Y,2015-08-29,1]
[BDSS,runn,NORMAL,Y,2015-08-29,1]
[EDSS,color,NORMAL,Y,2015-08-29,1]
Run Code Online (Sandbox Code Playgroud)

因此,我必须将此dataFrame转换为Scala中的键值对,使用该键作为Dataframe中的一些列,并为从索引0到计数(不同键数)的键分配唯一值.

例如:使用上面的情况,我希望在Scala中的map(键值)集合中有一个输出,如下所示:

    ([ABC_color_NORMAL_N_1->0]
    [XYZA_color_NORMAL_N_1->1]
    [GFFD_color_NORMAL_N_1->2]
    [NAAS_color_NORMAL_N_1->3]
    [LOWW_color_NORMAL_N_1->4]
    [KARA_color_NORMAL_N_1->5]
    [ALEQ_color_NORMAL_N_1->6]
    [VDDE_size_NORMAL_N_1->7]
    [QWER_color_NORMAL_N_1->8]
    [KDSS_color_NORMAL_Y_1->9]
    [KSDS_color_NORMAL_Y_1->10]
    [ADSS_color_NORMAL_Y_1->11]
    [BDSS_runn_NORMAL_Y_1->12]
    [EDSS_color_NORMAL_Y_1->13]
    )
Run Code Online (Sandbox Code Playgroud)

我是Scala和Spark的新手,我尝试过做这样的事情.

 var map: Map[String, Int] = Map()
    var i = 0
    dataframe.foreach( record =>{
    //Is there a better way of creating a key!
        val key = record(0) + record(1) + record(2) + record(3)
        var index = i
        map += (key -> index)
        i+=1
          }
        )
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用.:完成后,Map为null.

dictionary scala apache-spark

10
推荐指数
1
解决办法
3万
查看次数

从scapy中获取PCAP文件中的IP地址

是否有一种智能,快速的方法从PCAP文件中获取所有IP地址?我只需要(目标地址,源地址)元组.

目前我正在使用Scapy的rdpcap功能:

from scapy.all import *
pcap = rdpcap('file.pcap')

ips = set([(p[IP].fields['src'], p[IP].fields['dst']) for p in pcap if p.haslayer(IP) == 1])
Run Code Online (Sandbox Code Playgroud)

但是我的机器需要大约两分钟来解析一个70MB的PCAP文件,其中包含370个独特的提取条目......

optimization scapy pcap

5
推荐指数
1
解决办法
6779
查看次数

在批量更新插入中提供提示

有没有办法在 MongoDB / Python 中为批量更新插入提供提示?

我想在这样一个查询添加一个提示:Bulk.find(<query>).upsert().update(<update>)

我试过了:

  • Bulk.find(<query>).hint(<index>).upsert().update(<update>):.hint()方法不存在。
  • Bulk.find({'$query': <query>, '$hint': <hint>}).upsert().update(<update>):不能将{$query: <query>}语法与方法链混合使用(例如,请参阅)。

我错过了什么吗?

python mongodb pymongo mongodb-query

3
推荐指数
1
解决办法
275
查看次数

单个对象迭代器

为了与API保持一致,我必须返回一个迭代器,它只产生一个值,然后停止(它必须是返回的正确值.__iter__()).到目前为止,我有:

return (myobject for _ in [0])
Run Code Online (Sandbox Code Playgroud)

是否有更好的(更"Pythonic")方式来做到这一点?

python

1
推荐指数
2
解决办法
129
查看次数