You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While unzipping in loop , it throws error , here is code import os
import pyminizip
from zipfile import ZipFile
def split_file(input_file, output_folder, chunk_size, password):
password_bytes = password.encode('utf-8') # Encode the password as bytes
# Ensure the output folder exists
os.makedirs(output_folder, exist_ok=True)
part_number = 1
with open(input_file, 'rb') as infile:
while True:
chunk = infile.read(chunk_size)
if not chunk:
break
# Get the original file extension
file_extension = os.path.splitext(input_file)[-1]
# Create the part filename with the original extension
part_filename = os.path.join(output_folder, f'part{part_number:04}.zip')
# Write the chunk to a temporary file
temp_filename = 'temp_file.dat'
with open(temp_filename, 'wb') as temp_file:
temp_file.write(chunk)
# Create a password-encrypted ZIP file using pyminizip
pyminizip.compress(temp_filename, None, part_filename, password, 0)
# Remove the temporary file
os.remove(temp_filename)
part_number += 1
def join_parts(part_files, output_path, password):
password_bytes = password.encode('utf-8') # Encode the password as bytes
# Create a temporary directory for extraction
extraction_dir = 'temp_extraction'
os.makedirs(extraction_dir, exist_ok=True)
try:
for index, part_file in enumerate(part_files):
print(f'Extracting {part_file}...')
# Extract the ZIP file using pyminizip into the temporary directory
print(os.path.exists(part_file) , 'FILE EXIST')
pyminizip.uncompress(part_file, password, extraction_dir, 0)
extracted_file_path = os.path.join(extraction_dir, 'data')
# Check if the extracted file exists
if os.path.exists(extracted_file_path):
# Read the content of the extracted file
with open(extracted_file_path, 'rb') as extracted_file:
part_data = extracted_file.read()
# Write the extracted data to the output file
with open(output_path, 'ab') as output_file:
output_file.write(part_data)
else:
print(f'Error: Extracted file not found for {part_file}')
finally:
pass
print(f'File joined successfully.')
def test_run():
input_file = 'sample.mp4' # Replace with the path to your input file
output_folder = 'output_parts' # Folder to store split parts
chunk_size = 1 * 1024 * 1024 # 5 MB
password = 'your_password' # Replace with your desired password
# Ensure the output folder exists
os.makedirs(output_folder, exist_ok=True)
# Specify the index to resume splitting from (e.g., None or 20,000,000 bytes)
start_index = None # Change to the desired start index, or leave as None to start from the beginning
# Specify the byte progress for resuming (e.g., None or 2,000,000 bytes)
byte_progress = None # Change to the desired byte progress, or leave as None to start from the beginning
# Split the file into parts, optionally resuming from a specific index and byte progress
split_file(input_file, output_folder, chunk_size, password)
# List of part files (you can modify this list as needed)
part_files = sorted([
os.path.join(output_folder, filename)
for filename in os.listdir(output_folder)
if filename.startswith('part') and filename.endswith('.zip')
])
# Specify the output file for joining the parts
output_file = 'output_combined.mp4' # Replace with your desired output file name
# Specify the index to resume joining from (e.g., None or 2)
start_index = None # Change to the desired start index, or leave as None to start from the beginning
# Specify the byte progress for resuming (e.g., None or 2,000,000 bytes)
byte_progress = None # Change to the desired byte progress, or leave as None to start from the beginning
# Join the parts to recreate the original file, optionally resuming from a specific index and byte progress
join_parts(part_files, output_file, password)
print(f'File split into {len(part_files)} parts and then joined successfully.')
Call the test_run function to execute the operations
if name == 'main':
test_run()
test_run()
The text was updated successfully, but these errors were encountered:
While unzipping in loop , it throws error , here is code import os
import pyminizip
from zipfile import ZipFile
def split_file(input_file, output_folder, chunk_size, password):
password_bytes = password.encode('utf-8') # Encode the password as bytes
def join_parts(part_files, output_path, password):
password_bytes = password.encode('utf-8') # Encode the password as bytes
def test_run():
input_file = 'sample.mp4' # Replace with the path to your input file
output_folder = 'output_parts' # Folder to store split parts
chunk_size = 1 * 1024 * 1024 # 5 MB
password = 'your_password' # Replace with your desired password
Call the test_run function to execute the operations
if name == 'main':
test_run()
test_run()
The text was updated successfully, but these errors were encountered: