是Python3-Wifi库错误错误吗?

时间:2018-08-28 13:32:49

标签: python python-3.x networking network-programming python-3.6

我尝试使用像python-wifi这样的模块python3-wifi,但是它是python3版本,用于获取当前的wifi-ssid和Mac地址,但是我得到了此错误:

我正在尝试的代码

from pythonwifi.iwlibs import Wireless
wifi = Wireless("wlp3s0")
wifi.getEssid() #wifi-ssid
wifi.getAPaddr() #mac address

我尝试使用python3-wifi模块:https://github.com/llazzaro/python3-wifi

我收到此错误

File "/usr/local/lib/python3.6/dist-packages/pythonwifi/iwlibs.py", line 278, in getEssid
  File "/usr/local/lib/python3.6/dist-packages/pythonwifi/iwlibs.py", line 789, in getEssid
  File "/usr/local/lib/python3.6/dist-packages/pythonwifi/iwlibs.py", line 1220, in __init__
TypeError: cannot use a str to initialize an array with typecode 'c'

是模块错误错误吗?因为我正确地遵循了模块中的代码,如果模块错误,有人可以告诉我应该使用哪个模块,例如获取当前的ssid,mac,ip和网关吗?谢谢...

1 个答案:

答案 0 :(得分:1)

这是链接模块中的错误。显然已经从“数组”类中删除了“ c”标志。将python 2.7中的文档与python 3.6中的文档进行比较,就不再有'c'的{​​{1}}标志,只剩下charb

查看链接的github的commit history表示该代码是从其他位置克隆的,从B重命名为python-wifi且没有任何重大更改,然后再也没有碰过(自2年以来) ,因此代码可能尚未完全移植。您可以尝试opening an issue或自己修复代码,当您将python3-wifi中的c替换为B时,它可能已经起作用