【问题标题】:Error import nmap into python将nmap导入python时出错
【发布时间】:2015-09-09 07:42:58
【问题描述】:

我为 python 安装了 nmap 模块。 当我导入 nmap 时,它收到错误。这个错误是属性错误。

命令行:

root@harun:~/Desktop# python nmap.py

Traceback (most recent call last):
   File "nmap.py", line 2, in <module>
    import nmap
   File "/root/Desktop/nmap.py", line 3, in <module>
    nm = nmap.PortScanner()
AttributeError: 'module' object has no attribute 'PortScanner'

这段代码是:

!/usr/bin/env python

import nmap
nm = nmap.PortScanner()

我把代码改成了这样:

!/usr/bin/env python

from nmap import nmap
nm = nmap.PortScanner()

但它收到了同样的错误。

还有一个变化:

!/usr/bin/env python
 import nmap
 directory=dir(nmap)
 print directory

收到:

 root@harun:~/Desktop# python nmap.py
 ['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'nmap']
 ['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'directory', 'nmap']

但通常:

 root@harun:~# python
 >>> dir(nmap)

['PortScanner', 'PortScannerAsync', 'PortScannerError', 'PortScannerHostDict', 'PortScannerYield', 'Process', '__author__', '__builtins__', '__doc__', '__file__', '__last_modification__', '__name__', '__package__', '__path__', '__version__', 'collections', 'convert_nmap_output_to_encoding', 'csv', 'io', 'nmap', 'os', 're', 'shlex', 'string', 'subprocess', 'sys', 'types', 'xml']

你能告诉我我是怎么做的吗?

【问题讨论】:

标签: python nmap


【解决方案1】:

我认为评论中的链接('module' 对象没有属性'Serial')——是相关的。因此,不要尝试import nmap,而是尝试from nmap import PortScanner,然后尝试nm = PortScanner

您调用您的程序nmap.py 的事实可能会在将来引起冲突,因此您可能需要重命名它。

【讨论】:

  • 我同意。但一开始我在分享的时候,版主建议。所以我改变了它。我更改了名称,而不是 import nmap ,而是从 nmap import nmap 写的。但它不起作用。
  • 您是否也尝试重命名文件?
  • 确保删除旧的 nmap.pyc 或缓存文件(如果存在)。如果不这样做,它会打破一个调试器。我有一个很好的叫trepan2。您应该能够进入导入语句。
猜你喜欢
  • 2022-08-15
  • 2012-11-01
  • 2022-12-10
  • 2016-05-23
  • 1970-01-01
  • 2019-05-07
  • 1970-01-01
  • 2015-07-31
  • 1970-01-01
相关资源
最近更新 更多