首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:尾随的分号或斜线符号意味着什么?

Python:尾随的分号或斜线符号意味着什么?
EN

Stack Overflow用户
提问于 2017-03-21 00:13:24
回答 2查看 980关注 0票数 2

我对python很陌生,并试图理解尾斜杠在语言中的意义。具体来说,我正在使用Scapy库,并试图在Scapy的get_rsn_information源文件中解密inject.py方法:

代码语言:javascript
复制
def get_rsn_information(self, essid):
rsnInfo = None
sendp(
    RadioTap()/
    Dot11(addr1=self.bssid, addr2=self.source_mac, addr3=self.bssid, SC=self.__fixSC__(), subtype=4)/
    Dot11ProbeReq()/
    Dot11Elt(ID=0, info=essid)/
    Dot11Elt(ID=1, info='\x82\x84\x0b\x16\x24\x30\x48\x6c')/
    Dot11Elt(ID=50, info='\x0c\x12\x18\x60'),
    iface=self.interface,
    verbose=False
)
<...snip...>

当我看到一条这样的线条时:

代码语言:javascript
复制
RadioTap()/

尾随的斜杠意味着什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-21 00:41:31

RadioTapDot11等是scapy.packet.Packet的实例。它的划分操作是过载对分组层进行堆栈。

也就是说,在语法上,这正是它看起来的样子,一个除数运算符。

代码语言:javascript
复制
#/usr/lib/python2.7/site-packages/scapy/packet.py
# source code like below:
class Packet(six.with_metaclass(Packet_metaclass, BasePacket,
                                _CanvasDumpExtended)):
...
    def __div__(self, other):
        if isinstance(other, Packet):
            cloneA = self.copy()
            cloneB = other.copy()
            cloneA.add_payload(cloneB)
            return cloneA
        elif isinstance(other, (bytes, str)):
            return self / conf.raw_layer(load=other)
        else:
            return other.__rdiv__(self)
...
票数 5
EN

Stack Overflow用户

发布于 2017-03-21 01:28:14

sendp()是一个有三个参数/输入的函数

第一个输入是

代码语言:javascript
复制
RadioTap()/Dot11()/Dot11ProbeReq()/Dot11Elt()/Dot11Elt()/Dot11Elt()

它的意思就是:

代码语言:javascript
复制
RadioTap() divided by Dot11() divided by....etc.

您可以这样认为,因为sendp(后面的括号不会关闭,并且在,iface之前的逗号之前没有中断。

另外两个输入是ifaceverbose

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42916248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档