Python3 wifi 模块 returns 对象,不是 wifi 网络列表

Python3 wifi module returns object, not list of wifi networks

我刚刚安装了 wifi 库,并开始按照指南 here,但是当我输入

>>> from wifi import Cell, Scheme
>>> Cell.all('wlan0')

我得到的输出不是一个列表,而是一个对象:

<map object at 0x7ff23b40e588>

我在 Ubuntu 14.04 上使用 Python 3.4,这似乎适用于 Python 2.7,这很好,但我更愿意使用 3.4。如何使输出成为列表?我认为这只是不同 Python 版本处理输出不同的情况。

编辑:我刚刚开始尝试重新弄清楚,现在当我这样做的时候

from wifi import Cell

我明白了:

ImportError: cannot import name Cell

我真的很困惑。

再次编辑:

算了,那是我傻。我制作了一个名为 wifi.py 的程序来测试它,忘记了 Python.

中模块的整个概念

Cellreturn的all方法是map(...)。在 Python 2.x 中,这将 自动 return 一个列表,但是 Python 3.x return 是一个 map 对象(迭代器),可以通过对其调用 list 将其转换为列表。

因此,您可以通过在 returned 对象上调用 list 查看完整的 wifi 网络列表:

>>> list(Cell.all('wlan0'))

.