我已经对这个特定的 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())
features()
返回一个可以迭代的生成器对象,但它没有 len
函数:
for f in k.features():
print(f.name)
如果您确实需要长度,那么您可以使用列表理解将生成器转换为列表:
features = list(k.features())
len(features)
O(1) 解...
from fastkml import kml
doc = file("Allpoints.kml").read()
k = kml.KML()
k.from_string(doc)
len(k._features)
1.0版fastkml的API略有不同:
from fastkml.utils import find, find_all
from fastkml import KML
from fastkml import Placemark, Point, Folder
k = KML.parse("Allpoints.kml")
print(f.features)
KML 文件的根目录中应该只有一个文档、文件夹、地标,因此这可能只是一个元素。
查看文档,了解如何在文档中查找特定元素。