Pycap не работает в сценарии

1

i m пытается захватить пакет ethernet с помощью pycap http://pycap.sourceforge.net/. когда я использую следующую команду в приглашении python с привилегиями root, она работает

>>>import pycap.capture
>>>p = pycap.capture.capture("wlan0")
>>>p.next()
(Ethernet(type=0x608, 00:1b:b1:46:53:5d -> ff:ff:ff:ff:ff:ff), ARP(op=0x1, protocol=0x800,     00:1b:b1:46:53:5d (192.16.68.10) -> 00:00:00:00:00:00 (192.16.110.39)), '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', 1307898356.222398)

Но если я запустил эти команды как script, я получаю следующую ошибку

>>>sudo python pycap.py
Traceback (most recent call last):
  File "pycap.py", line 2, in <module>
  from pycap import *
  File "/home/nikhil/Code/Python/pycap.py", line 5, in <module>
  p = capture.capture(device)
  NameError: name 'capture' is not defined

Любые предложения? pycap http://pycap.sourceforge.net/ говорит, что для этого требуется python2.3 и im, используя python2.6. Это проблема?

Теги:

1 ответ

5
Лучший ответ

Ваш script с помощью pycap называется pycap сам, поэтому import pycap сам импортирует (. обычно является первым каталогом пути импорта). Поскольку импорт является кешем, это не приводит к бесконечной рекурсии, но вместо этого дает вам ссылку на ваш собственный модуль, который, конечно же, не определяет capture или что-то еще. Переименуйте его.

  • 0
    о ... это была действительно глупая ошибка. Как я могу пропустить это? это решило проблему .. Спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню