blob: f60d037eb035ffac1c285ba83036553157b8149a [file] [log] [blame]
import os
import zipfile
def change_zip_entry(zip_path, to_replace, content, output_zip_path):
with zipfile.ZipFile(zip_path, "r") as original_zip:
with zipfile.ZipFile(output_zip_path, "w") as output_zip:
for entry in original_zip.infolist():
if entry.filename != to_replace:
output_zip.writestr(entry, original_zip.read(entry))
else:
output_zip.writestr(entry, content)
def read_zip_entry(zip_path, entry, none_if_missing=False):
with zipfile.ZipFile(zip_path) as zip:
if none_if_missing and entry not in zip.namelist():
return None
data = zip.read(entry)
return data.decode("utf-8")
def read_file(file_path):
with open(file_path, "r", newline="") as f:
return f.read()
def write_file(file_path, data):
with open(file_path, "w", newline="") as f:
f.write(data)