我听说__init__python 中的函数不是构造函数,它是一个初始化器,实际上__new__函数是构造函数,不同之处在于__init__函数是在创建对象和__new__之前调用之后调用的.我对吗?你能解释的区别更好,我们为什么需要两个__new__和__init__?
我正在使用Windows 7和Python 2.6.我想获得我的网络接口的MAC地址.
我尝试过使用该wmi模块:
def get_mac_address():
c = wmi.WMI ()
for interface in c.Win32_NetworkAdapterConfiguration (IPEnabled=1):
return interface.MACAddress
Run Code Online (Sandbox Code Playgroud)
但是,没有互联网连接时执行时遇到问题.
我尝试过使用该uuid模块:
from uuid import getnode
print getnode()
Run Code Online (Sandbox Code Playgroud)
但是,返回值是MAC地址的48字节表示
66610803803052
Run Code Online (Sandbox Code Playgroud)
1)我应该如何将给定的数字转换为ff:ff:ff:ff:ff:ff格式?
2)有更好的方法来获取MAC地址吗?
我需要验证没有正则表达式的名称并保持简单,我有这个:
def validation(name):
for char in name:
if not (("A" <= char and char <= "Z") or ("a" <= char and char <= "z") or (char == " ")):
return False
return True
Run Code Online (Sandbox Code Playgroud)
有没有办法让它更好?
我想遍历字段的名称,例如srcanddst并且也有它们的值。,我试过这个:
for field in pkt['Ethernet']:
print field
Run Code Online (Sandbox Code Playgroud)
但是我需要一个函数,它会给我一个包含字段名称及其值的字典,例如 -
{'dst':'00:0a:95:9d:68:16','src':'00:0a:95:9d:68:16','type':'tcp'}
Run Code Online (Sandbox Code Playgroud) 我需要编写函数-
random_number(minimum,maximum)
Run Code Online (Sandbox Code Playgroud)
在不使用随机模块的情况下,我这样做:
import time
def random_number(minimum,maximum):
now = str(time.clock())
rnd = float(now[::-1][:3:])/1000
return minimum + rnd*(maximum-minimum)
Run Code Online (Sandbox Code Playgroud)
我不确定这是否可以..是否有已知的方法来解决这个问题?
我正在用 Scapy、python 2.6.6 和 windows 7 构建一个嗅探器,我想知道我是否可以在嗅探之前选择要嗅探的接口,有点像 Wireshark。
我需要在c ++或python中编写一个函数,它获取一个字符串并打印所有可以加扰的选项.例如 - scramble("abc")将打印 -
abc
acb
bac
bca
cab
cba
Run Code Online (Sandbox Code Playgroud)
当然,不只是单词长度为3.
在C#中考虑以下代码:
public class A
{
public A()
{
Console.WriteLine("A");
}
public virtual void One()
{
Console.WriteLine("One of A");
}
public virtual void Two()
{
One();
}
}
public class B : A
{
public B()
{
Console.WriteLine("B");
}
public override void One()
{
Console.WriteLine("One of B");
}
public override void Two()
{
Console.WriteLine("Two of B");
}
public void Three()
{
base.Two();
}
}
Run Code Online (Sandbox Code Playgroud)
主要:
A a3 = new B(); //"A" and then "B"
a3.Two();' //"Two of B"
((B)a3).Three(); //"One of …Run Code Online (Sandbox Code Playgroud) python ×7
function ×2
scapy ×2
c# ×1
c++ ×1
casting ×1
constructor ×1
initializer ×1
interface ×1
iteration ×1
java ×1
mac-address ×1
oop ×1
packet ×1
polymorphism ×1
python-2.6 ×1
random ×1
recursion ×1
scramble ×1
sniffer ×1
time ×1
validation ×1