使用Fastkml读取KML文件

时间:2013-09-07 15:08:32

标签: python kml

我为这个特定的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())

2 个答案:

答案 0 :(得分:4)

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

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

如果你真的需要长度,那么你可以使用列表推导将生成器变成一个列表:

features = list(k.features())
len(features)

答案 1 :(得分:0)

O(1)解决方案......

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