Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python3
- default_block_size = 512
- def slice_file(source_filename, dest_filename, slice_from, slice_to, block):
- f_in = open(source_filename, 'rb')
- f_out = open(dest_filename, 'wb')
- read_count = 0
- eof = False
- import random
- random.seed()
- while not eof:
- read = f_in.read(block)
- if(len(read) < block): eof = True
- if(read_count < slice_from or read_count >= slice_to):
- f_out.write(read)
- else:
- for i in range(block):
- f_out.write(bytes(chr(random.randint(0,127)), encoding = 'utf-8'))
- read_count += block
- f_in.close()
- f_out.close()
- if __name__ == '__main__':
- import sys
- if(len(sys.argv) < 3):
- print('missing arguments:')
- print(sys.argv[0] + ' source_filename dest_filename [slicing_starts_from slicing_length [block_size]]')
- quit()
- source_filename = sys.argv[1]
- dest_filename = sys.argv[2]
- if(len(sys.argv) < 4):
- slice_from = int(input('slicing starts from: '))
- slice_to = slice_from + int(input('slicing length: '))
- else:
- slice_from = int(sys.argv[3])
- slice_to = int(sys.argv[3]) + int(sys.argv[4])
- if(len(sys.argv) >= 6):
- block = int(sys.argv[6])
- else: block = default_block_size
- slice_file(source_filename, dest_filename, slice_from, slice_to, block)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement