首页 > 编程 > Python > 正文

python 提取文件的小程序

2020-02-23 04:43:38
字体:
来源:转载
供稿:网友
以前提取这些文件用的是一同事些的批处理文件;用起来不怎么顺手,刚好最近在学些python,所有就自己动手写了一个python提取文件的小程序;
1、原理
提取文件的原理很简单,就是到一个指定的目录,找出最后修改时间大于给定时间的文件,然后将他们复制到目标目录,目标目录的结构必须和原始目录一致,这样工程人员拿到后就可以直接覆盖整个目录;
2、实现
为了程序的通用,我定义了下面的配置文件
config.xml
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<config>
    <srcdir>E:/temp/home/cargill</srcdir>
    <destdir>E:/temp/dest/cargill</destdir>
    <notinclude>
        <dirs>
            <dir>E:/temp/home/cargill/WEB-INF/lib</dir>
            <dir>E:/temp/home/cargill/static/cargill/report</dir>
        </dirs>
        <files>
            <file>E:/temp/home/cargill/WEB-INF/classes/myrumba.xml</file>
            <file>E:/temp/home/cargill/META-INF/context.xml</file>
        </files>
    </notinclude>
    <inittime>2008-10-11 13:15:22</inittime>
    <rardir>C:/Program Files/WinRAR</rardir>
</config>

其中
<srcdir>:原始目录,即我们tomcat的发布目录;
<destdir>:文件复制到得目标目录;
<notinclude>:需要忽略的文件夹和文件,具体需要忽略的内容在其子节点中定义,这里不在解释;
<inittime>:这个是初始化需要提取的时间点,在这之后的才会提取,此处需要说明,后来在使用中,我增加了一个功能,就是每次提取完会自动将本次提取时间记录到一个文本文件C_UPGRADETIME.txt中,这就省去每次设置这个值的烦恼,只有C_UPGRADETIME.txt为空或者不存在时,才会用到这个值;
<rardir>:rar压缩程序的地址;
下面是读取配置文件的类:
config.py
''
Created on Mar 3, 2009
@author: alex cheng
'''
from xml.dom.minidom import parse, parseString
import datetime
import time
class config(object):
'''
config.xml
'''
def __init__(self, configfile):
'''
configfile:config files
'''
dom = parse(configfile)
self.config_element = dom.getElementsByTagName("config")[0]
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表