Advertisement
Guest User

Saga Frontier ARC Splitter

a guest
Aug 1st, 2020
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.68 KB | None | 0 0
  1. from struct import unpack
  2. from io import FileIO
  3. import sys,os,glob
  4.  
  5.  
  6. def split_file(fd):
  7.     datafile = FileIO(fd,"r")
  8.     num_pointers = unpack("<I",datafile.read(4))
  9.     pointer_fmt = "<%dI"%num_pointers[0]
  10.     pointers = unpack(pointer_fmt,datafile.read(num_pointers[0]*4))
  11.     pointers+=(os.stat(datafile.name).st_size,)
  12.     i = 0
  13.     datafile.seek(pointers[0],0)
  14.     while i < (num_pointers[0]):
  15.    
  16.         splitname = "%s_file%u.bin"%(datafile.name,i)
  17.         with FileIO(splitname,"w") as splitfile:
  18.             splitfile.write(datafile.read(pointers[i+1]-pointers[i]))
  19.         i+=1
  20.  
  21. for arg in sys.argv[1:]:
  22.     for files in glob.glob(arg):
  23.         split_file(files)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement