Python Forum
how to write offset number to disk use python?
Thread Rating:
  • 1 Vote(s) - 1 Average
  • 1
  • 2
  • 3
  • 4
  • 5
how to write offset number to disk use python?
#1
please advice. here is sample of result get view disk hex with xxd in terminal. thanks.
Output:
00000000: 0000 0000 0000 0000 dddd dddd dddd dddd ................ 00000010: 0000 0000 0000 0010 dddd dddd dddd dddd ................ 00000020: 0000 0000 0000 0020 dddd dddd dddd dddd ....... ........ 00000030: 0000 0000 0000 0030 dddd dddd dddd dddd .......0........ 00000040: 0000 0000 0000 0040 dddd dddd dddd dddd .......@........ 00000050: 0000 0000 0000 0050 dddd dddd dddd dddd .......P........ 00000060: 0000 0000 0000 0060 dddd dddd dddd dddd .......`........ 00000070: 0000 0000 0000 0070 dddd dddd dddd dddd .......p........ 00000080: 0000 0000 0000 0080 dddd dddd dddd dddd ................ 00000090: 0000 0000 0000 0090 dddd dddd dddd dddd ................ 000000a0: 0000 0000 0000 00a0 dddd dddd dddd dddd ................ 000000b0: 0000 0000 0000 00b0 dddd dddd dddd dddd ................
Reply
#2
Can you explain further what you want? I don't know what you mean by "write offset number to disk".

Are you trying to write data into a file at a specified offset? Or maybe you're looking for the offset of data in an already-written file?
Reply
#3
(Apr-10-2020, 04:00 PM)bowlofred Wrote: Can you explain further what you want? I don't know what you mean by "write offset number to disk".

Are you trying to write data into a file at a specified offset? Or maybe you're looking for the offset of data in an already-written file?

hi,
thanks for reply. i am trying to write offset number to Entire hard drive format as your see my post.
rough ideas:
import sys
max = sys.maxsize
for i in range(0,max,10):
    print(i)
and this offset number write to every line offset 7 place. left side of offset 7 fill 00, offset 8-15 fill dd.
Output:
026023b0: 0000 0000 0260 23b0 dddd dddd dddd dddd .....`#......... 026023c0: 0000 0000 0260 23c0 dddd dddd dddd dddd .....`#......... 026023d0: 0000 0000 0260 23d0 dddd dddd dddd dddd .....`#......... 026023e0: 0000 0000 0260 23e0 dddd dddd dddd dddd .....`#......... 026023f0: 0000 0000 0260 23f0 dddd dddd dddd dddd .....`#......... 02602400: 0000 0000 0260 2400 dddd dddd dddd dddd .....`$......... 02602410: 0000 0000 0260 2410 dddd dddd dddd dddd .....`$.........
here is offset 02602410 output
it's not full code. still thinking how to do it. need your help. thanks.
Reply
#4
Rather than a 7-place offset, I'd probably do an 8-place offset and just multiply the number by one nibble (16). Something like this?

import struct
import sys

d_bytes = struct.pack(">Q", 0xdddddddddddddddd)
for index in range(10):
    offset_bytes = struct.pack(">Q", index * 16)
    sys.stdout.buffer.write(offset_bytes)
    sys.stdout.buffer.write(d_bytes)
And when run:
Output:
$ python3 offset.py | xxd 00000000: 0000 0000 0000 0000 dddd dddd dddd dddd ................ 00000010: 0000 0000 0000 0010 dddd dddd dddd dddd ................ 00000020: 0000 0000 0000 0020 dddd dddd dddd dddd ....... ........ 00000030: 0000 0000 0000 0030 dddd dddd dddd dddd .......0........ 00000040: 0000 0000 0000 0040 dddd dddd dddd dddd .......@........ 00000050: 0000 0000 0000 0050 dddd dddd dddd dddd .......P........ 00000060: 0000 0000 0000 0060 dddd dddd dddd dddd .......`........ 00000070: 0000 0000 0000 0070 dddd dddd dddd dddd .......p........ 00000080: 0000 0000 0000 0080 dddd dddd dddd dddd ................ 00000090: 0000 0000 0000 0090 dddd dddd dddd dddd ................
Reply
#5
(Apr-11-2020, 07:18 AM)bowlofred Wrote: Rather than a 7-place offset, I'd probably do an 8-place offset and just multiply the number by one nibble (16). Something like this?

import struct
import sys

d_bytes = struct.pack(">Q", 0xdddddddddddddddd)
for index in range(10):
    offset_bytes = struct.pack(">Q", index * 16)
    sys.stdout.buffer.write(offset_bytes)
    sys.stdout.buffer.write(d_bytes)
And when run:
Output:
$ python3 offset.py | xxd 00000000: 0000 0000 0000 0000 dddd dddd dddd dddd ................ 00000010: 0000 0000 0000 0010 dddd dddd dddd dddd ................ 00000020: 0000 0000 0000 0020 dddd dddd dddd dddd ....... ........ 00000030: 0000 0000 0000 0030 dddd dddd dddd dddd .......0........ 00000040: 0000 0000 0000 0040 dddd dddd dddd dddd .......@........ 00000050: 0000 0000 0000 0050 dddd dddd dddd dddd .......P........ 00000060: 0000 0000 0000 0060 dddd dddd dddd dddd .......`........ 00000070: 0000 0000 0000 0070 dddd dddd dddd dddd .......p........ 00000080: 0000 0000 0000 0080 dddd dddd dddd dddd ................ 00000090: 0000 0000 0000 0090 dddd dddd dddd dddd ................
Thanks so much. That’s what I need!
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Hard disk structure like a file selection dialog malonn 2 795 Aug-09-2023, 09:14 PM
Last Post: malonn
  pytz: get integer utc offset from Olsen region/city h4tt3n 2 5,255 Jul-30-2020, 06:43 AM
Last Post: h4tt3n
  How to Calculate CPU, Disk, Memory and Network utilization rate skvivekanand 1 2,050 Jun-16-2020, 08:53 PM
Last Post: jefsummers
  search binary file and list all founded keyword offset Pyguys 4 2,777 Mar-17-2020, 06:46 AM
Last Post: Pyguys
  offset can not be negative in File.seek()? jollydragon 6 7,012 Sep-28-2019, 03:08 AM
Last Post: jollydragon
  Disk usage stats. MuntyScruntfundle 2 2,539 Jan-22-2019, 10:53 PM
Last Post: MuntyScruntfundle
  Python offset to length write in a File basic_learner 3 3,932 Dec-13-2018, 06:20 PM
Last Post: Gribouillis
  Preventing useless multiple disk writes Steffenwolt 9 4,656 Jul-28-2018, 06:39 PM
Last Post: gontajones
  parallel(offset) lines using python johnfriend 1 4,291 May-05-2017, 06:10 AM
Last Post: buran
  Find offset of binary data in file sparkz_alot 3 5,922 Mar-01-2017, 10:30 PM
Last Post: Larz60+

Forum Jump:

User Panel Messages

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