使用Fastkml阅读KML文件

6
我已经搜索了很多关于这个特定的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个回答

7

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

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

如果你确实需要长度,那么可以使用列表推导式将生成器转化为列表:

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

list(k.features()) 的输出转换为列表形式。 - pr1001

0

O(1) 解决方案...

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接