From 48c67f7299f6468e8f0c0530b21476e6b0bb47cc Mon Sep 17 00:00:00 2001 From: jujimeizuo Date: Fri, 19 Jan 2024 15:52:53 +0800 Subject: [PATCH] update: merge_json.py --- data/merge_json.py | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/data/merge_json.py b/data/merge_json.py index 6b7d0c7..0171df9 100644 --- a/data/merge_json.py +++ b/data/merge_json.py @@ -3,38 +3,38 @@ import os def save_merge_json(data_lis, file_path): - import json - with open(file_path, 'wt', encoding='utf-8') as file: - json.dump(data_lis, file, ensure_ascii=False) + json.dump(data_lis, file, indent=4, ensure_ascii=False) def get_all_file_paths(folder_path): - # 确保传入的是一个目录 - if not os.path.isdir(folder_path): - raise ValueError(f"{folder_path} is not a valid directory") - - # 获取文件夹下所有文件的路径 - file_paths = [os.path.join(folder_path, file) for file in os.listdir( - folder_path) if os.path.isfile(os.path.join(folder_path, file))] - return file_paths + files = os.listdir(folder_path) + path = [] + for file in files: + file_path = os.path.join(folder_path, file) + if os.path.isdir(file_path): + path.extend(get_all_file_paths(file_path)) + else: + path.append(file_path) + return path if __name__ == '__main__': conversion_lis = [] + folder_path = '' # input + merge_path = '' # input + paths = get_all_file_paths(folder_path=folder_path) - for path in get_all_file_paths('res/'): + for path in paths: print(path) - - with open(path, 'rt', encoding='utf-8') as file: - for line in file: + with open(path, 'rt', encoding='utf-8') as lines: + for line in lines: # 移除行尾的换行符 - line = line.rstrip('\n') + line.rstrip('\n') # 解析JSON try: data = json.loads(line) conversion_lis.append(data) except json.JSONDecodeError as e: print(f"Error decoding JSON: {e}") - - save_merge_json(data_lis=conversion_lis, file_path='merge.json') + save_merge_json(data_lis=conversion_lis, file_path=merge_path) \ No newline at end of file