最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2014年09月28日 11:51:08   投稿:shichen2014  
這篇文章主要介紹了python實現(xiàn)批量獲取指定文件夾下的所有文件的廠商信息的方法,是非常實用的技巧,涉及到文件的讀寫與字典的操作等技巧,需要的朋友可以參考下

本文實例講述了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程序設計有所幫助。

相關文章

  • 通過Python實現(xiàn)控制手機詳解

    通過Python實現(xiàn)控制手機詳解

    如今python是非常多人學習的,而手機也幾乎人手一部。對于很多Python學習者,想用python來完成android手機中各種炫酷的的控制,adb是必不可缺少的工具之一
    2021-10-10
  • PyTorch上實現(xiàn)卷積神經(jīng)網(wǎng)絡CNN的方法

    PyTorch上實現(xiàn)卷積神經(jīng)網(wǎng)絡CNN的方法

    本篇文章主要介紹了PyTorch上實現(xiàn)卷積神經(jīng)網(wǎng)絡CNN的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Python設計模式編程中解釋器模式的簡單程序示例分享

    Python設計模式編程中解釋器模式的簡單程序示例分享

    這篇文章主要介紹了Python設計模式編程中解釋器模式的簡單程序示例分享,解釋器模式強調(diào)用抽象類來表達程序中將要實現(xiàn)的功能,需要的朋友可以參考下
    2016-03-03
  • Flask框架Jinjia模板常用語法總結(jié)

    Flask框架Jinjia模板常用語法總結(jié)

    這篇文章主要介紹了Flask框架Jinjia模板常用語法,結(jié)合實例形式總結(jié)分析了Jinjia模板的變量、賦值、流程控制、函數(shù)、塊、宏等基本使用方法,需要的朋友可以參考下
    2018-07-07
  • Python學習pygal繪制線圖代碼分享

    Python學習pygal繪制線圖代碼分享

    這篇文章主要介紹了Python學習pygal繪制線圖代碼分享,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Python數(shù)據(jù)結(jié)構(gòu)與算法中的棧詳解(1)

    Python數(shù)據(jù)結(jié)構(gòu)與算法中的棧詳解(1)

    這篇文章主要為大家詳細介紹了Python中的棧,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 正確的使用Python臨時文件

    正確的使用Python臨時文件

    這篇文章主要介紹了正確的使用Python臨時文件,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-03-03
  • Python疊加矩形框圖層2種方法及效果

    Python疊加矩形框圖層2種方法及效果

    這篇文章主要介紹了Python疊加矩形框圖層2種方法及效果,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • Python編程獲取終端命令行參數(shù)示例

    Python編程獲取終端命令行參數(shù)示例

    這篇文章主要為大家介紹了Python編程獲取終端命令行參數(shù)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • django admin后臺添加導出excel功能示例代碼

    django admin后臺添加導出excel功能示例代碼

    這篇文章主要介紹了django admin 后臺添加導出excel功能示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05

最新評論

临沧市| 蒙阴县| 清河县| 木里| 鸡泽县| 怀柔区| 武宣县| 登封市| 汉中市| 安义县| 武山县| 霍山县| 镇雄县| 辽阳县| 福安市| 上林县| 平乐县| 三亚市| 疏勒县| 弋阳县| 海晏县| 高碑店市| 云梦县| 栾川县| 淮安市| 泰来县| 承德县| 云林县| 雷波县| 雷山县| 海盐县| 新营市| 水城县| 德阳市| 馆陶县| 改则县| 南漳县| 辽阳市| 荥阳市| 叙永县| 南投县|