因业务需要,需要将inputconfig.ini 如下

[path]1=f:\aaa\1989works2=f:\bbb\1990works3=f:\ccc\1991works[web]zz.xxx.yyy.com[outpath]E:\createconfig\papers.ini[outweb]E:\createconfig\web_papers.ini

作为输入 然后生成2个配置文件,papers.ini,web_papers.ini

其中papers.ini内容为

eee=f:\aaa\1989worksfff=f:\pdf\1989worksmmmm=f:\pdf\1989worksccc=f:\bbb\1990works.........

既,配置文件等号左边为path节的等号右边的目录遍历一级目录的内容,等号右边为path节的等号右边的内容。

web_papers.ini的内容为:

eee=zz.xxx.yyy.comfff=zz.xxx.yyy.commmmm=zz.xxx.yyy.comccc=zz.xxx.yyy.com

既,等号左边的内容为path节的等号右边的目录遍历一级目录的内容,等号右边的内容为[web]节的内容。

希望为可执行文件,采用

xxx.exe -i inputconfig.ini 执行既可实现生成输出的2个配置。

先用python写脚本,然后将python脚本编译为单个可执行文件。

【python脚本内容】

#encoding=utf-8#author: skybug#date: 2014-01-13#function: 生成xxx站点配置文件import os,sys,getoptdef createpdfconfig(infile):  #定义函数    while True :        line=infile.readlines() #输入文件一次      读入到数组         if len(line)==0:break        else:            spath=[]            sum=len(line)  #计算数组长度            a= line.index('[path]\n') #定位[path]节在数组的位置            b= line.index('[web]\n') #定位[web]节在数组的位置            c= line.index('[outpath]\n') #定位[outpath]节在数组的位置            d= line.index('[outweb]\n') #定位[outweb]节在数组的位置            for i in range(a+1,b):            #print line[i]                spath.append(line[i].split("=")[1].strip('\n')) #遍历[path]节            for i in range(b+1,c):                web= line[i]            for i in range(c+1,d):                outpath= line[i].strip('\n') #.strip('\n') 删除字符串尾部的回车            for i in range(d+1,sum):                outweb=line[i].strip('\n')                outpdfconfig=open('%s'%(outpath),'w')  #创建配置文件1                outweb_config=open('%s'%(outweb),'w')  #创建配置文件2            for i in spath:                for m in os.listdir(i):                    outpdfconfig.write('%s=%s'%(m,i))  #写配置文件1内容                    outpdfconfig.write('\n')                    outpdfconfig.flush()                    outweb_config.write('%s=%s'%(m,web)) #写配置文件2内容                    outweb_config.flush()                                                                     outpdfconfig.close() #关闭文件    outweb_config.close()    infile.close()    return (0,'OK')opts, args = getopt.getopt(sys.argv[1:], "hi:") #解析输入参数for op,value in opts:    if op == "-i":        inputconfig=value        infile=open('%s'%(inputconfig),'r')        createpdfconfig(infile)    else:        print 'pleas -i configfile'        sys.exit()

【将xxx.py编译为单个exe文件】

采用pyinstall2进行编译。

具体编译方法转载如下:

python pyinstaller.py -F E:\temp\papers\createconfig.py

既可生成可执行exe文件