5

我已经为这个特定的 Python 模块搜索了相当多的内容,但无法找到指向正确方向的来源。

我正在尝试读取 KML 文件并显示文件夹内的所有功能,我相信我正在使用 fastkml 实现这一点,但我遇到了问题。

使用以下代码一切正常,直到行 len(k.features)。我尝试打印它,添加文档中所示的引号,但没有任何效果。谁能指出我正确的方向?

谢谢。

示例:https ://github.com/cleder/fastkml

代码:

from fastkml import  kml
doc = file("Allpoints.kml").read()
k = kml.KML()
k.from_string(doc)
len(k.features())
4

2 回答 2

7

features()返回一个可以迭代的生成器对象,但它没有len函数:

for f in k.features():
    print(f.name)

如果您真的需要长度,那么您可以使用列表推导将生成器转换为列表:

features = list(k.features())
len(features)
于 2013-09-07T16:00:36.707 回答
0

O(1) 解决方案...

from fastkml import  kml
doc = file("Allpoints.kml").read()
k = kml.KML()
k.from_string(doc)
len(k._features)
于 2014-05-09T20:44:18.543 回答