【问题标题】:Appending an empty folder to an existing folder in a KML file using Python使用 Python 将空文件夹附加到 KML 文件中的现有文件夹
【发布时间】:2013-12-12 22:50:13
【问题描述】:

我一直试图自己解决这个问题,但我被困住了。 我想将一个空文件夹添加到现有 KML 文件中的现有文件夹中。 这是我目前所拥有的,当我打开文件时,没有名为“test”的新文件夹。

import pykml
from pykml.factory import KML_ElementMaker as KML
from pykml import parser

x = KML.Folder(KML.name("test"))

with open("Scratch Paper.kml") as f:
    doc = parser.parse(f).getroot()
    a = doc.Document.Folder.Folder[0]
    a.append(x)
f.close()

【问题讨论】:

  • 你好。我不知道kml 也不知道pykml,但我很想知道:KML 目录和文件是否与 Python 中的常用函数创建的“普通”目录和文件不同?他们有什么特别之处?

标签: python geocoding kml pykml


【解决方案1】:

所以,结果比我想象的要容易得多...... 我仍在尝试学习良好的做法,但是以读取模式打开文件,复制我想要的数据,然后以写入模式重新打开似乎可以完成我想要的。

如果其他人看到更好的方法来做到这一点,请告诉我! 谢谢!

import lxml
from lxml import etree
import pykml
from pykml.factory import KML_ElementMaker as KML
from pykml import parser

x = KML.Folder(KML.name("meow"))

with open("Scratch Paper.kml", "r+") as f:
    doc = parser.parse(f).getroot()
    print doc.Document.Folder.Folder[3].name
    a = doc.Document.Folder[0]
    a.append(x)
    finished = (etree.tostring(doc, pretty_print=True))

with open("Scratch Paper.kml", "w+") as f:
    f.write(finished)

print "Done!"

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多