为什么我不能在 python3 中的 "from scapy.all import *" 之前 "import datetime"?
Why can't I "import datetime" before "from scapy.all import *" in python3?
好吧,也许我遗漏了一些非常明显的东西,但似乎我无法在导入 "from scapy.all import *" 之前导入日期时间。如果我在导入 "from scapy.all import *" 之后导入日期时间,它会工作正常。我不明白这个。
示例;这不起作用...
#!/usr/bin/env python3
import os
import datetime
from scapy.all import *
current_time = datetime.datetime.now()
print(current_time)
但这确实...
#!/usr/bin/env python3
import os
from scapy.all import *
import datetime
current_time = datetime.datetime.now()
print(current_time)
我正在使用 Arch Linux、Python3 和最新的 scapy。
只是比较你的两个片段的猜测,但我怀疑你有 namespace clash(欢迎享受编程的乐趣),这正是 import *
是不好的做法。
scapy
也有一个 datetime
方法(没有比较两个包之间的定义),所以在这种情况下 import order 确实重要因为 datetime
的定义被 覆盖 .
最好只导入您需要的内容,例如:
#!/usr/bin/env python3
import os
import datetime
from scapy.all import sr, srp
current_time = datetime.datetime.now()
print(current_time)
好吧,也许我遗漏了一些非常明显的东西,但似乎我无法在导入 "from scapy.all import *" 之前导入日期时间。如果我在导入 "from scapy.all import *" 之后导入日期时间,它会工作正常。我不明白这个。
示例;这不起作用...
#!/usr/bin/env python3
import os
import datetime
from scapy.all import *
current_time = datetime.datetime.now()
print(current_time)
但这确实...
#!/usr/bin/env python3
import os
from scapy.all import *
import datetime
current_time = datetime.datetime.now()
print(current_time)
我正在使用 Arch Linux、Python3 和最新的 scapy。
只是比较你的两个片段的猜测,但我怀疑你有 namespace clash(欢迎享受编程的乐趣),这正是 import *
是不好的做法。
scapy
也有一个 datetime
方法(没有比较两个包之间的定义),所以在这种情况下 import order 确实重要因为 datetime
的定义被 覆盖 .
最好只导入您需要的内容,例如:
#!/usr/bin/env python3
import os
import datetime
from scapy.all import sr, srp
current_time = datetime.datetime.now()
print(current_time)