最近要整理一个小项目: 把机器学习各个算法用到的参数都提取出来, 并在前台显示. 对于此要求来说, 使用xml文档存储参数最好不过了, 后台可以轻松读取xml并转为相应对象类型.

但是, 直接手写xml是很费劲的, 于是写了一个小程序将简单的txt转为xml,顺便把该程序转为exe 供没有安装python的人使用.

txt格式

参数名1, 默认值1, 描述1
参数名2, 默认值2, 描述2

生成的xml格式:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<algorithm name="alg1">
    <Parameter a="参数名1" b="默认值1"/>
    <Parameter a="参数名2" b="默认值2"/>
</algorithm>
  • 1
  • 2
  • 3
  • 4
  • 5

代码txt2xml.py:

# -*- encoding: utf-8 -*-
import sys,os
import codecs

# print('脚本名:' + sys.argv[0])
# print('转换文件:'+sys.argv[1])
parentDir = os.path.dirname(sys.argv[1])
fileName = os.path.basename(sys.argv[1]).split(".")
xmlFileName = fileName[0]+'.xml'
algName = fileName[0]

with codecs.open(parentDir+'\\'+xmlFileName,'w','utf-8') as xml:
    xml.write('<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<algorithm name="'+algName+'">\n')
    #注意sys.argv[1]所指文档的编码如果utf-8下程序输出乱码就用文本编辑器手动改为gb
    with codecs.open(sys.argv[1],'r','utf-8') as f: 
       for line in f:
            lineSplit = line.split(',')
            a = lineSplit[0]
            b = lineSplit[1]
            xml.write('\t<Parameter a="'+a+'" b="'+b+'"/>'+'\n')
    xml.write('</algorithm>')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

代码很简单, 就当是学习python练手了, 之后又用py2exe工具将代码转为了exe使用(好像只支持py2.7和3.4), 方法:

1.下载安装py2exe(pip install py2exe或者直接安装exe文件)
2.编写setup.py

from distutils.core import setup
import py2exe

setup(console = ['txt2xml.py'])
  • 1
  • 2
  • 3
  • 4

3.调用python setup.py py2exe即可生成

::...
免责声明:
当前网页内容, 由 大妈 ZoomQuiet 使用工具: ScrapBook :: Firefox Extension 人工从互联网中收集并分享;
内容版权归原作者所有;
本人对内容的有效性/合法性不承担任何强制性责任.
若有不妥, 欢迎评注提醒:

或是邮件反馈可也:
askdama[AT]googlegroups.com


订阅 substack 体验古早写作:


点击注册~> 获得 100$ 体验券: DigitalOcean Referral Badge

关注公众号, 持续获得相关各种嗯哼:
zoomquiet


自怼圈/年度番新

DU22.4
关于 ~ DebugUself with DAMA ;-)
粤ICP备18025058号-1
公安备案号: 44049002000656 ...::