欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)
  #存在就在基礎(chǔ)上加入列表,不存在就新建個字典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程序設(shè)計有所幫助。

相關(guān)文章

  • 一款強大的端到端測試工具Playwright介紹

    一款強大的端到端測試工具Playwright介紹

    這篇文章主要為大家介紹了一款強大的端到端測試工具Playwright介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Python多進程分塊讀取超大文件的方法

    Python多進程分塊讀取超大文件的方法

    這篇文章主要介紹了Python多進程分塊讀取超大文件的方法,涉及Python多進程操作與文件分塊讀取的相關(guān)技巧,需要的朋友可以參考下
    2016-04-04
  • 手把手教你在Python里使用ChatGPT

    手把手教你在Python里使用ChatGPT

    最近幾天我一直在玩?ChatGPT,我對使用這個工具的無限可能性著迷,下面這篇文章主要給大家介紹了關(guān)于在Python里使用ChatGPT的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • python實現(xiàn)微信定時每天和女友發(fā)送消息

    python實現(xiàn)微信定時每天和女友發(fā)送消息

    這篇文章主要為大家詳細介紹了python實現(xiàn)微信定時每天和女友發(fā)送消息,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Spark處理數(shù)據(jù)排序問題如何避免OOM

    Spark處理數(shù)據(jù)排序問題如何避免OOM

    這篇文章主要介紹了Spark處理數(shù)據(jù)排序問題如何避免OOM,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • Python繪制計算機CPU占有率變化的折線圖

    Python繪制計算機CPU占有率變化的折線圖

    這篇文章主要為大家詳細介紹了Python繪制計算機CPU占有率變化的折線圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 介紹Python中幾個常用的類方法

    介紹Python中幾個常用的類方法

    這篇文章主要介紹了介紹Python中幾個常用的類方法,大都在自定義類的時候經(jīng)常需要用到,這些是Python學(xué)習(xí)中的基本功,需要的朋友可以參考下
    2015-04-04
  • Python實現(xiàn)杰卡德距離以及環(huán)比算法講解

    Python實現(xiàn)杰卡德距離以及環(huán)比算法講解

    這篇文章主要為大家介紹了Python實現(xiàn)杰卡德距離以及環(huán)比算法的示例講解,有需要的朋友可以借鑒參考下
    2022-02-02
  • python中Requests發(fā)送json格式的post請求方法

    python中Requests發(fā)送json格式的post請求方法

    這篇文章主要介紹了python中Requests發(fā)送json格式的post請求方法,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,感興趣的朋友可以參考一下
    2022-09-09
  • python抓取多種類型的頁面方法實例

    python抓取多種類型的頁面方法實例

    在本篇文章里小編給大家整理的是關(guān)于python抓取多種類型的頁面方法實例內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2019-11-11

最新評論