2013-08-21 78 views
3

我使用Eclipse在Python 2.7.3中運行ubuntu的第一個代碼 我是python和linux的bigginner,也是使用模塊pythonwifi 0.3.1。 該代碼應frequency_channel_mapwifi.scan()掃描頻率應檢索與信息的對象是在for循環IOError:[Errno 1]不允許操作

#!/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 

我不知道爲什麼它的occurre。搜索因爲2天IOError: [Errno 1] Operation not permitted,但發現任何我明白的

PS。計算器上的第一篇文章,請見地

回答

2

通常錯誤;不允許的操作,會發生,如果你不是根, 即,確保運行此python腳本作爲root用戶, 做到這一點。 打開你的linux終端, 並鍵入sudo su。 你會得到一個提示詢問你的密碼,這個密碼和你用來登錄到linux一樣。 然後運行你的python代碼。

+0

遇到同樣的問題並且以root身份運行並不能解決Ubuntu上的這個問題 – dm76