×
Меню
Индекс

Scanning files

 
Создать текстовый файл, вставить текст, сохранить с расширением .PY
Выполнить посредством консоли и установленных в системе Pyffi утилит.
 
Этот скрипт сканирует файлы на предмет поиска конкретной записи в оных.
Но лучше использовать другую утилиту.
 
meshes = "N:/ki/Data" - место где сканировать.
  if type(block) is NifFormat.NiSortAdjustNode: - что ищем, заменить на искомое.
 
(С) Greatness7

#!/usr/bin/env python2
 
import sys
import os.path
from multiprocessing import Pool
from pyffi.formats.nif import NifFormat
from pyffi.utils import walk
 
meshes = "N:/ki/Data"
 
 
def scan(file, path=meshes):
    mesh = os.path.relpath(file, path)
 
    try:
        log("Scanning: %s\n" % mesh)
        with open(file, 'rb') as stream:
            data = NifFormat.Data()
            data.read(stream)
 
    except Exception as error:
        log("Scan Error!\n")
        return
 
    for i, block in enumerate(data.blocks):
        if type(block) is NifFormat.NiSortAdjustNode:
            log("Found! Index: %d\n" % i)
            return mesh
 
def log(msg):
    sys.stdout.write(msg)
    sys.stdout.flush()
 
if __name__ == '__main__':
 
    files = [mesh
             for mesh in walk(meshes)
             if mesh.lower().endswith(".nif")]
 
    pool = Pool()
    results = pool.map(scan, files)
 
    pool.close()
    pool.join()
 
    print("Results:")
    print("\n"(filter(None, results)))