don*_*off 2 python networking wifi python-3.x
我刚刚安装了 wifi 库,并开始按照此处的指南进行操作,但是当我输入时
>>> from wifi import Cell, Scheme
>>> Cell.all('wlan0')
Run Code Online (Sandbox Code Playgroud)
我得到的输出不是一个列表,而是一个对象:
<map object at 0x7ff23b40e588>
Run Code Online (Sandbox Code Playgroud)
我在 Ubuntu 14.04 上使用 Python 3.4,这似乎适用于 Python 2.7,这很好,但我更喜欢使用 3.4。如何使输出成为列表?我认为这只是不同 Python 版本以不同方式处理输出的情况。
编辑:我刚刚开始尝试再次弄清楚,现在当我这样做时
from wifi import Cell
Run Code Online (Sandbox Code Playgroud)
我明白了:
ImportError: cannot import name Cell
Run Code Online (Sandbox Code Playgroud)
我真的很困惑。
再次编辑:
没关系,那是我愚蠢。我制作了一个名为 wifi.py 的程序来测试它,忘记了 Python 中模块的整个想法。
返回 a的all方法。在 Python 2.x 中,这将自动返回一个列表,但 Python 3.x 返回一个对象(一个迭代器),可以通过调用将其转换为列表。Cellmap(...)maplist
因此,您可以通过调用list返回的对象来查看 wifi 网络的完整列表:
>>> list(Cell.all('wlan0'))
Run Code Online (Sandbox Code Playgroud)
.