国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現(xiàn)批量獲取指定文件夾下的所有文件的廠商信息

2020-02-23 05:52:53
字體:
來源:轉載
供稿:網(wǎng)友

本文實例講述了python實現(xiàn)批量獲取指定文件夾下的所有文件的廠商信息的方法。分享給大家供大家參考。具體如下:

功能代碼如下:

import os, string, shutil,re import pefile import codecs, sys import wx import struct #輸出中打印Unicode字符 #sys.stdout = codecs.lookup('utf-8')[-1](sys.stdout)  def addToDict(theDict,PEfile_Path,strCompanyName):   theDict.setdefault(PEfile_Path, [ ]).append(strCompanyName)  #存在就在基礎上加入列表,不存在就新建個字典key  def IsPeFile(inputFileName):   '''''判斷一個文件是否為PE文件'''   file = open(inputFileName, 'r')   dosSign = hex(struct.unpack("h",file.read(2))[0])   if (dosSign == "0x5a4d"):     file.seek(0x3c)     date_fNew = struct.unpack("l",file.read(4))[0]     file.seek(date_fNew)     peSign = hex(struct.unpack("h",file.read(2))[0])     if (peSign == "0x4550"):       return 1     else:       return 0   else:     return 0     #得到一個文件的廠商信息 #輸入:文件路徑 #輸出:字典 def getCompanyName(PEfile_Path):   if not IsPeFile(PEfile_Path):   return {}   else:   dictCompany = {}   pe = pefile.PE(PEfile_Path)    p = re.compile('''''CompanyName:(.+)''')   for name in p.findall(pe.__str__()):     uniCompanyName = name.replace('//x', '//u').strip()     #strTemp = uniCompanyName.decode('unicode_escape')     addToDict(dictCompany, PEfile_Path, uniCompanyName)        writeDicToFile(dictCompany) #寫入文件   return dictCompany  #得到文件夾中所有文件的廠商信息 #輸入:文件夾路徑 #輸出:字典 def getCompanyNameFromDir(dir, dir_callback=None, file_callback=None):   dictAll = {}   for root, dirs, files in os.walk(dir):     for f in files:       file_path = os.path.join(root, f)       if file_callback: file_callback(file_path)       dictAll.update(getCompanyName(file_path))          return dictAll  def writeDicToFile(dicName, outputFileName="company.txt"):   """將字典寫入文件中"""   fileOutput = open(outputFileName, "a+")   for key, value in dicName.items():     strTemp2 = '' + value[0]     strChina2 = strTemp2.decode('unicode_escape')      try:     fileOutput.write("%-*s" % (110, key))     fileOutput.write(strChina2.encode('gb2312'))   except UnicodeEncodeError, e:     pass     fileOutput.write("/n")      fileOutput.close()    #主函數(shù) if __name__ == "__main__":   getCompanyNameFromDir(u"D://everydaySample//1221//10white")   print "ok finish" 

這里不解釋,代碼很簡單.

出現(xiàn)的問題如下:

1. 寫入中文.str.encode('gb2212')解決
2. 出現(xiàn)UnicodeEncodeError 的錯誤,用了try給忽略了

希望本文所述對大家的Python程序設計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 西盟| 恩施市| 溧水县| 明溪县| 松原市| 黔西县| 江陵县| 沿河| 拉萨市| 大港区| 阳朔县| 北海市| 卢湾区| 方山县| 博客| 陆川县| 廉江市| 长乐市| 周宁县| 信宜市| 许昌市| 嫩江县| 屏边| 呼伦贝尔市| 仁化县| 阿克陶县| 娄底市| 水富县| 绩溪县| 嘉定区| 三门县| 清镇市| 泾阳县| 永清县| 遵化市| 通河县| 彭州市| 大宁县| 郴州市| 仲巴县| 大港区|