Python3 wifi模块返回对象,而不是wifi网络列表

时间:2016-07-04 18:33:34

标签: python python-3.x networking wifi

我刚刚安装了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中模块的全部概念。

1 个答案:

答案 0 :(得分:3)

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

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

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