Ошибка импорта nmap в python

Я установил модуль nmap для python. Пока я импортировал 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']

Не могли бы вы рассказать мне, как я делаю?


person davy    schedule 23.06.2015    source источник
comment
возможный дубликат Python AttributeError: объект 'module' не имеет атрибута 'Serial'   -  person Juliën    schedule 23.06.2015
comment
я исправляю ошибку после удаления пробела в имени моего проекта   -  person Mikail Land    schedule 14.08.2018


Ответы (1)


Я думаю, что ссылка в комментарии (объект 'module' не имеет атрибута 'Serial') - актуальна. Поэтому вместо import nmap попробуйте from nmap import PortScanner, а затем nm = PortScanner

Тот факт, что вы называете свою программу nmap.py, может в будущем вызвать конфликты, поэтому вы можете переименовать ее.

person rocky    schedule 23.06.2015
comment
Я согласен. Но сначала, пока я делился, модератор подсказал. Так что я изменил его. Я изменил имя и вместо import nmap написал from nmap import nmap. Но это не работает. - person davy; 23.06.2015
comment
Вы тоже пробовали переименовать файл? - person rocky; 23.06.2015
comment
Убедитесь, что вы избавились от старого nmap.pyc или файла кеша, если он есть. Если это не поможет, запустите отладчик. У меня есть хороший трепан2. Вы должны иметь возможность войти в оператор импорта. - person rocky; 23.06.2015