Python是一种高级编程语言,广泛用于各种软件开发任务。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。
在数据处理和分析中,经常需要从多个子目录中读取JSON文件,以便整合和分析数据。
以下是一个Python脚本示例,展示如何递归地从所有子目录中读取JSON文件:
import os
import json
def read_json_files_from_directories(base_dir):
data_list = []
for root, dirs, files in os.walk(base_dir):
for file in files:
if file.endswith('.json'):
file_path = os.path.join(root, file)
with open(file_path, 'r', encoding='utf-8') as f:
try:
data = json.load(f)
data_list.append(data)
except json.JSONDecodeError as e:
print(f"Error decoding JSON from file {file_path}: {e}")
return data_list
# 使用示例
base_directory = 'path/to/your/base/directory'
all_data = read_json_files_from_directories(base_directory)
print(all_data)
json.load()
会抛出JSONDecodeError
。可以通过捕获异常并打印错误信息来处理。PermissionError
。确保脚本运行时有足够的权限。通过上述方法,你可以有效地从所有子目录中读取JSON文件,并处理可能遇到的问题。
领取专属 10元无门槛券
手把手带您无忧上云