简单的Python xml图像生成器

时间:2015-12-15 07:30:52

标签: python xml windows

我需要一个简单的python脚本来查看文件夹中的图像文件名,每个文件夹中有100个输出,xml是这样的:

    <image src = "img_3.jpg"/>
    <image src = "img_4.jpg"/>
    <image src = "img_5.jpg"/>
    <image src = "img_6.jpg"/>
    <image src = "img_7.jpg"/>
    <image src = "img_8.jpg"/>
    <image src = "img_9.jpg"/>
    <image src = "img_10.jpg"/>
    <image src = "img_11.jpg"/>
    <image src = "img_12.jpg"/>
    <image src = "img_13.jpg"/>
    <image src = "img_14.jpg"/>

其中img_X.jpg是文件夹内的图像名称。我的图像名为851_r016_OUTPUT_JPG_001,851_r016_OUTPUT_JPG_002,依此类推。我知道它可能只是不知道如何实现它。

只是为了澄清我需要一个python脚本的帮助,它将在指定的Windows文件夹中搜索该文件夹中的所有图像名称并输出一个具有上述格式的xml请帮助并感谢先进!

2 个答案:

答案 0 :(得分:2)

您可以使用PyXB并定义一个&#39; MyImages&#39; XSD对象,它将自动为您生成代码 - 类和它的方法,包括&#34;追加&#34;,&#34;读&#34;(xml文件)和&#34; toxml用于&#34;(写)

XSD架构:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name="MyImages">
  <xsd:sequence>
    <xsd:complexType name="image">
      <xsd:sequence>
        <xsd:element name="src"   type="xsd:string"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:sequence>
</xsd:complexType>

下一步将是简单的代码,例如:

from os import listdir
from MyImages import MyImages # auto-generated .py file

myimages = MyImages()
for imagePath in listdir('dirPath'):
    im = MyImages.image()
    im.src = imagePath
    myimages.append(im)

with open("output.xml", 'w') as f:
    f.write(myimages.toxml("utf-8"))

答案 1 :(得分:1)

以此为出发点:

import os
for i in os.listdir('your/directory/'):
    print(i)