• python 获取文件版本号和修改时间


    根据老婆的需求做的小程序:遍历文件夹下所有文件,如果有版本号则加入版本号,如果没有版本号则加入修改时间。最后返回一个字典,key是路径,value是版本号/修改时间。

    具体代码如下:

    import os
    import os.path
    import win32api
    import time
    
    def getFileName(rootdir):
        file = []
        for parent, dirnames, filenames in os.walk(rootdir):
            for f in filenames:
                file.append([parent, f])
        return file
    
    def getFileVersion(file_name):
        info = win32api.GetFileVersionInfo(file_name, os.sep)
        ms = info['FileVersionMS']
        ls = info['FileVersionLS']
        version = '%d.%d.%d.%04d' % (win32api.HIWORD(ms), win32api.LOWORD(ms), win32api.HIWORD(ls), win32api.LOWORD(ls))
        return version
    
    getFileTime = lambda file: time.ctime(os.stat(file).st_mtime)
    
    #print getFileTime('d:/rizhi/12yue/ex121013.log')
    
    res = {}
    rootdir = 'd:/rizhi'
    file = getFileName(rootdir)
    
    for n in file:
        filePath = (n[0] + '/' + n[1]).replace('\\', '/')
        try:
            version = getFileVersion(filePath)
        except:
            modiTime = getFileTime(filePath)
            res[filePath] = modiTime
        else:
            res[filePath] = version
    
    print res

    其中遍历文件夹部分参考了jihate的文章(http://www.cnblogs.com/kaituorensheng/archive/2012/08/14/2638935.html),获取版本号部分参考了Sephiroth的文章(http://www.oschina.net/code/snippet_16840_1863)。惭愧的是,后者的win32API还不懂。

  • 相关阅读:
    【漏洞分析】5次shift漏洞破解win7密码
    skyler实战渗透笔记(五)—Tr0ll
    skyler实战渗透笔记(四)—Raven2
    skyler实战渗透笔记(三)—Raven
    python读写excel文件
    python_列表
    mysql安装教程
    centos7安装RabbitMQ教程
    centos7安装mongodb4.2.15教程
    tomcat9安装教程
  • 原文地址:https://www.cnblogs.com/alexkh/p/2888327.html
Copyright © 2020-2023  润新知