2013-02-11 69 views
1

我希望能够从.dll或.sys文件的详细信息选项卡抓取文件说明字符串。我试图用很多方法做到这一点,但无法让他们点击。无论如何,通过命令行执行此操作可以将其输出到屏幕。我对使用VB可用的FileVersion.description没有任何喜悦。从详细信息选项卡抓取文件说明

任何方向或帮助将在这里非常感谢。

感谢

+0

我以前有过设法使用fso.getFileVersion(argshere) 我会喜欢它的文件版本,如果有类似的东西fileDescription – 2013-02-11 13:34:25

回答

0
langs = win32api.GetFileVersionInfo(ExecutablePath, r'\VarFileInfo\Translation') 
key = r'StringFileInfo\%04x%04x\FileDescription' %(langs[0][0], langs[0][1])   
print (win32api.GetFileVersionInfo(ExecutablePath, key)) 
+0

繁荣,完成!谢谢 – 2013-02-12 13:35:12

1

作为一个起点,它看起来像一些这方面的东西可以用win32api检索。您可以找到文档here,当然还可以使用python的内置帮助()。

我编辑添加一些代码,以显示如何检索一些信息。我已经使用win32api以及os.stat希望这足以让你开始。不应该太难以找到迄今为止我已经给出的其余部分。

import os 
import time 
import stat 
from win32api import GetFullPathName 

def get_details(file_name): 
    time_format = "%m/%d/%Y %I:%M:%S %p" 
    file_stats = os.stat(file_name) 

    return { 
     'folder_path': GetFullPathName(file_name), 
     'size': file_stats[stat.ST_SIZE], 
     'date_modified':time.strftime(time_format,time.localtime(file_stats[stat.ST_MTIME])), 
     'access_time': time.strftime(time_format,time.localtime(file_stats[stat.ST_ATIME])), 
    } 

print get_details("myfilename") 
+0

这是好东西。我也需要实际的文件描述,我不相信可以通过os.stat获得。 – 2013-02-11 14:50:22

+0

不确定。我自己并没有使用它,但一些快速研究似乎表明,这可能做你想要的:[WMI](http://pypi.python.org/pypi/WMI/) – 2013-02-11 16:23:24