IOError: [Errno 1] Операция запрещена

Я использую Eclipse для своих первых кодов в Python 2.7.3 под управлением ubuntu. Я большой новичок в python и linux, также использую модуль pythonwifi 0.3.1. Этот код должен сканировать частоты в frequency_channel_map и wifi.scan() должен извлекать объект с информацией, которая указана в цикле for

#!/usr/bin/python2

from pythonwifi.iwlibs import Wireless

frequency_channel_map = {
    2412000000: "1",
    2417000000: "2",
    2422000000: "3",
    2427000000: "4",
    2432000000: "5",
    2437000000: "6",
    2442000000: "7",
    2447000000: "8",
    2452000000: "9",
    2457000000: "10",
    2462000000: "11",
    2467000000: "12",
    2472000000: "13",
    2484000000: "14",
    }

wifi = Wireless("wlan")

for ap in wifi.scan():
    print "SSID: " + ap.essid
    print "AP: "+ ap.bssid
    print "Signal: " + str(ap.quality.getsignallevel())
    print "Frequ: "+ str(ap.frequency.getfrequency())
    print "Chanel :"+ frequency_channel_map.get(ap.frequency.getfrequency())
    print "____"  

и получить эту проблему

    Traceback (most recent call last):
  File "/home/andreas/workspace/test/firstModule.py", line 22, in <module>
    print wifi.commit()
  File "/usr/local/lib/python2.7/dist-packages/pythonwifi.egg/pythonwifi/iwlibs.py", line 679, in commit
    pythonwifi.flags.SIOCSIWCOMMIT)
  File "/usr/local/lib/python2.7/dist-packages/pythonwifi.egg/pythonwifi/iwlibs.py", line 1028, in iw_set_ext
    return self.iw_get_ext(ifname, operation, data)
  File "/usr/local/lib/python2.7/dist-packages/pythonwifi.egg/pythonwifi/iwlibs.py", line 1023, in iw_get_ext
    result = self._fcntl(request, ifreq)
  File "/usr/local/lib/python2.7/dist-packages/pythonwifi.egg/pythonwifi/iwlibs.py", line 1010, in _fcntl
    return fcntl.ioctl(self.sockfd.fileno(), request, args)
IOError: [Errno 1] Operation not permitted

Понятия не имею, почему это происходит. Выполнял поиск в течение 2 дней по запросу IOError: [Errno 1] Operation not permitted, но нашел все, что я понял

PS. первый пост о stackoverflow, будьте внимательны


person dronimus    schedule 21.08.2013    source источник


Ответы (1)


обычно ошибка; операция не разрешена, происходит, если вы не в корневом, т.е. убедитесь, что вы запускаете этот скрипт python от имени пользователя root, чтобы сделать это. откройте свой Linux-терминал и введите sudo su. вы получите запрос на ввод пароля, это тот же пароль, который вы используете для входа в Linux. а затем запустите свой код Python.

person Moinakhtar Salman    schedule 08.09.2013
comment
Имеют ту же проблему и запуск от имени пользователя root не решает эту проблему в Ubuntu - person dm76; 06.06.2015