lollms-webui/extensions/chatgpt2lollms/indent_json.py
2023-07-06 11:36:57 +02:00

34 lines
1.1 KiB
Python

import argparse
import json
from pathlib import Path
def indent_json_file(input_file, output_file=None, indent=4):
# Read the JSON file
with open(input_file, 'r') as file:
data = json.load(file)
# Determine the output file path
if output_file is None:
output_file = input_file.with_stem(input_file.stem + '_indented' + input_file.suffix)
# Write the indented JSON to the output file
with open(output_file, 'w') as file:
json.dump(data, file, indent=indent)
def main():
parser = argparse.ArgumentParser(description='Indent a JSON file and save it to a new file.')
parser.add_argument('input_file', type=Path, help='path to the input JSON file')
parser.add_argument('-o', '--output_file', type=Path, help='path to the output JSON file')
parser.add_argument('--indent', type=int, default=4, help='number of spaces for indentation (default: 4)')
args = parser.parse_args()
input_file = args.input_file
output_file = args.output_file
indent = args.indent
indent_json_file(input_file, output_file, indent)
if __name__ == '__main__':
main()