首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查simplekml - python中是否存在文件夹

检查simplekml - python中是否存在文件夹
EN

Stack Overflow用户
提问于 2017-08-08 11:23:49
回答 1查看 812关注 0票数 2

这应该是非常简单的,但我现在已经在它上面一个小时了,没有结束的网站。我正在使用python中的simplekml模块,如果文件夹不存在,我想创建一个文件夹。在没有创建for循环的情况下,我找不到任何方式来检查文件夹是否已经存在。我认为下面的方法会起作用,但当然不是。

代码语言:javascript
复制
    kml = simplekml.Kml()
    testfold = kml.newfolder(name = 'testfolder')
    testfold2 = kml.newfolder(name = 'testfolder2')

    if 'testfolder' in kml.containers: 
        print True

唯一返回文件夹名称的似乎是:

代码语言:javascript
复制
for x in kml.containers:
    print x.name

但当然,我不希望遍历kml文件中的每个容器,在查找文件夹之前,如果没有找到,则写入该文件夹。请告诉我还有更好的办法吗?!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-08 12:11:29

这是因为,kml.containers保存simplekml.featgeom.Folder类的对象列表,而name是该类的属性!

因此,当您检查if 'testfolder' in kml.containers时,它将返回false!您必须获取该容器的name属性中的值,然后检查testfolder

代码语言:javascript
复制
>>> [each for each in kml.containers]
[<simplekml.featgeom.Folder object at 0x2ac156d8e910>, <simplekml.featgeom.Folder object at 0x2ac156d8e890>]
>>> [x.name for x in kml.containers]
['testfolder', 'testfolder2']
>>> True if 'testfolder' in [x.name for x in kml.containers] else False
True
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45558778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档