python获取文件版本信息、公司名和产品名的方法

本文实例讲述了python获取文件版本信息、公司名和产品名的方法,分享给大家供大家参考。具体如下:

该python代码可得到文件版本信息、公司名和产品名。其他的信息都在返回的字典中。具体代码如下:

  def _getCompanyNameAndProductName(self, file_path):
    """
    Read all properties of the given file return them as a dictionary.
    """
    propNames = ('Comments', 'InternalName', 'ProductName',
      'CompanyName', 'LegalCopyright', 'ProductVersion',
      'FileDescription', 'LegalTrademarks', 'PrivateBuild',
      'FileVersion', 'OriginalFilename', 'SpecialBuild') 

    props = {'FixedFileInfo': None, 'StringFileInfo': None, 'FileVersion': None} 

    try:
      # backslash as parm returns dictionary of numeric info corresponding to VS_FIXEDFILEINFO struc
      fixedInfo = win32api.GetFileVersionInfo(file_path, '\\')
      props['FixedFileInfo'] = fixedInfo
      props['FileVersion'] = "%d.%d.%d.%d" % (fixedInfo['FileVersionMS'] / 65536,
          fixedInfo['FileVersionMS'] % 65536, fixedInfo['FileVersionLS'] / 65536,
          fixedInfo['FileVersionLS'] % 65536) 

      # \VarFileInfo\Translation returns list of available (language, codepage)
      # pairs that can be used to retreive string info. We are using only the first pair.
      lang, codepage = win32api.GetFileVersionInfo(file_path, '\\VarFileInfo\\Translation')[0] 

      # any other must be of the form \StringfileInfo\%04X%04X\parm_name, middle
      # two are language/codepage pair returned from above 

      strInfo = {}
      for propName in propNames:
        strInfoPath = u'\\StringFileInfo\\%04X%04X\\%s' % (lang, codepage, propName)
        ## print str_info
        strInfo[propName] = win32api.GetFileVersionInfo(file_path, strInfoPath) 

      props['StringFileInfo'] = strInfo
    except:
      pass
    if not props["StringFileInfo"]:
      return (None, None)
    else:
      return (props["StringFileInfo"]["CompanName"], props["StringFileInfo"]["ProductName"])

希望本文所述对大家的Python程序设计有所帮助。

(0)

相关推荐

  • python获取Linux下文件版本信息、公司名和产品名的方法

    本文实例讲述了python获取Linux下文件版本信息.公司名和产品名的方法,分享给大家供大家参考.具体如下: 区别于前文所述.本例是在linux下得到文件版本信息,主要是通过pefile模块解析文件 中的字符串得到的.代码如下: def _get_company_and_product(self, file_path): """ Read all properties of the given file return them as a dictionary. @retur

  • Python实现获取操作系统版本信息方法

    最近,想在我的YouMoney(http://code.google.com/p/youmoney/)里面增加提取用户操作系统版本信息.比如windows用户,可能要返回Windows XP ,或者Windows 2003, 苹果用户应该返回Mac OS X 10.5.8.用了很多办法,包括在mac系统里调用系统命令,取环境变量,等等.最后无意发现,原来python里里面有个platform模块就可以干这件事情.省事啊! mac上这么干 复制代码 代码如下: localhost:~ apple$

  • Python脚本获取操作系统版本信息

    查看系统版本信息是一件家常便饭的事情,有时候需要将版本信息录入到资产管理系统中,如果每次手动的去查询这些信息再录入系统那么是一件令人呢头疼的事情,如果采用脚本去完成这件事情,那么情况就有所不同了. 在Python的世界里,获取Windows版本信息和Linux的版本信息都可以采用platform模块,但platform模块也不是万能的,有些特殊的信息(比如Windows的内部版本号)这个模块拿不到,那么只能另辟蹊径了. 在Linux系统中,可以简单的认为一切都是文件,那么就算没有现成的命令可用时

  • python获取文件版本信息、公司名和产品名的方法

    本文实例讲述了python获取文件版本信息.公司名和产品名的方法,分享给大家供大家参考.具体如下: 该python代码可得到文件版本信息.公司名和产品名.其他的信息都在返回的字典中.具体代码如下: def _getCompanyNameAndProductName(self, file_path): """ Read all properties of the given file return them as a dictionary. """

  • python获取文件扩展名的方法

    本文实例讲述了python获取文件扩展名的方法.分享给大家供大家参考.具体实现方法如下: import os.path def file_extension(path): return os.path.splitext(path)[1] print file_extension('C:\py\wxPython.gif') 输出结果为: .gif 希望本文所述对大家的Python程序设计有所帮助.

  • python获取文件后缀名及批量更新目录下文件后缀名的方法

    本文实例讲述了python获取文件后缀名及批量更新目录下文件后缀名的方法.分享给大家供大家参考.具体实现方法如下: 1. 获取文件后缀名: 复制代码 代码如下: #!/usr/bin/python import os dict = {} for d, fd, fl in os.walk('/home/ahda/Program/'):         for f in fl:                 sufix = os.path.splitext(f)[1][1:]           

  • python获取文件路径、文件名、后缀名的实例

    实例如下所示: #########start 获取文件路径.文件名.后缀名############ def jwkj_get_filePath_fileName_fileExt(filename): (filepath,tempfilename) = os.path.split(filename); (shotname,extension) = os.path.splitext(tempfilename); return filepath,shotname,extension #########

  • python 获取文件下所有文件或目录os.walk()的实例

    在python3.6版本中去掉了os.path.walk()函数 os.walk() 函数声明:walk(top,topdown=True,oneerror=None) 1.参数top表示需要遍历的目录树的路径 2.参数农户topdown默认是"True",表示首先返回根目录树下的文件,然后,再遍历目录树的子目录.topdown的值为"False",则表示先遍历目录树的子目录,返回子目录下的文件,最后返回根目录下的文件 3.参数oneerror的默认值是"

  • 通过Python 获取Android设备信息的轻量级框架

    今天跟大家分享一下,如何通过Python实现一个轻量级的库来获取电脑上连接的Android设备信息,为什么说轻量呢因为整个库也就4KB,相比其他诸如Appetizer这样动辄就8MB多的库要轻很多,而且也基本满足项目中的需求. 这个库只有一个文件,通过封装Android的ADB命令实现,返回的是一个包含所有设备信息的标准json格式的列表方便解析,下面简单介绍一下: 检查环境变量 # 判断是否设置环境变量ANDROID_HOME if "ANDROID_HOME" in os.envi

  • 详解Python相关文件常见的后缀名

    常见的 Python 文件后缀有:py.pyc .pyo. pyi.pyw. pyd. pyx 等. 本文只介绍相对常见的一些后缀名,至于一些特别冷门的文件格式,例如一些文章提到的pyz.pywz.rpy.pyde.pyp. pyt等,并没有进行研究.因为这些扩展名资料很少,网上搜到的文章似乎都是同一个出处,只是简单提了一句,说了等于没说. py 最常见的 Python 源代码文件. 实际上如果用 python + 文件 的方式运行代码,只要文件内容相同,后缀名是不重要的,也就是说下面的运行结果

  • php获取文件名称和扩展名的方法

    php获取文件名称和扩展名 1.basename()-返回路径的文件名 请看下面php代码: <?php $path = "/usr/www/html/index.php"; echo basename($path)."<br>"; //如果选择suffix则忽略扩展名 echo basename($path,".php"); ?> 运行结果: index.php index 2.dirname()-返回当前脚本的文件路径

随机推荐