Python Forum
Split Bytearray into separate Files by Hex delimter
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Split Bytearray into separate Files by Hex delimter
#1
Hi all

i am loading a file into a byte aray with

f = open("myfile.seq", 'rb')
while True:
binarycontent = f.read(-1)
if not binarycontent:
break
print(binarycontent)

after that has been loaded i like to split that array by hex value $93 and save the splits to disk.
Searching the forum just lead me to solutions with fixed lenghts, how should i split that array into parts ?
Reply
#2
Bytearray has a split() method, so you can separate by a hex value.

>>> a = bytearray(b'hello\x93there\x93'*4)
>>> a
bytearray(b'hello\x93there\x93hello\x93there\x93hello\x93there\x93hello\x93there\x93')
>>> a.split(b'\x93')
[bytearray(b'hello'), bytearray(b'there'), bytearray(b'hello'), bytearray(b'there'), bytearray(b'hello'), bytearray(b'there'), bytearray(b'hello'), bytearray(b'there'), bytearray(b'')]
Reply
#3
Splitting the array into parts is easy (use split()). But how do you save the chunks? if you write the chunks to a binary file how do you delimit the chunks? It is not like a text file where there is a default delimiter ('\n'). Do you plan to write each chunk to a different file? If you write them all back to the same file, using a delimiter to separate, what is the advantage over not splitting up the file in the first place?

Just re-read the title. Writing chunks to different files. Nevermind.
Reply
#4
(Mar-08-2023, 09:15 PM)deanhystad Wrote: Splitting the array into parts is easy (use split()). But how do you save the chunks? if you write the chunks to a binary file how do you delimit the chunks? It is not like a text file where there is a default delimiter ('\n'). Do you plan to write each chunk to a different file? If you write them all back to the same file, using a delimiter to separate, what is the advantage over not splitting up the file in the first place?

I dont want to write them Back to the Same File. Goal ist to have multiple Files ofcourse. If there is a way to Split then without loading into Array that would work too.
Reply
#5
What i still dont understand is how do i save the split contents to files with ascending filenames. Somehow i always save the whole array instad of the split chunks
Reply
#6
(Mar-09-2023, 12:30 AM)lastyle Wrote: What i still dont understand is how do i save the split contents to files with ascending filenames. Somehow i always save the whole array instad of the split chunks

Loop over the output of the split.
Within the loop open a new writable file.
Write the data to the file.

Give it a try and show us the code you've got so far.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Class test : good way to split methods into several files paul18fr 4 487 Jan-30-2024, 11:46 AM
Last Post: Pedroski55
  Value error when converting hex value to bytearray shubhamjainj 7 10,563 Mar-20-2023, 05:30 PM
Last Post: Skaperen
  appending to a bytearray Skaperen 21 14,459 Mar-19-2023, 11:05 PM
Last Post: Skaperen
Question Take user input and split files using 7z in python askfriends 2 1,107 Dec-11-2022, 07:39 PM
Last Post: snippsat
  Save multiple Parts of Bytearray to File ? lastyle 1 961 Dec-10-2022, 08:09 AM
Last Post: Gribouillis
  bytearray object - why converting to ascii? Chepilo 2 1,643 Nov-21-2022, 07:25 PM
Last Post: Chepilo
  Python Split json into separate json based on node value CzarR 1 5,634 Jul-08-2022, 07:55 PM
Last Post: Larz60+
  importing functions from a separate python file in a separate directory Scordomaniac 3 1,388 May-17-2022, 07:49 AM
Last Post: Pedroski55
  How to save files in a separate directory Scordomaniac 3 1,900 Mar-16-2022, 10:17 AM
Last Post: Gribouillis
  Separate text files and convert into csv marfer 6 2,885 Dec-10-2021, 12:09 PM
Last Post: marfer

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020