如何在TXT文件中存储多文件路径,供json.load()正常读取?
问题分析与解决
你的代码核心问题不是TXT路径写法,而是逻辑完全搞错了:你在尝试把存储路径的TXT文件当成JSON来解析,这肯定会报解码错误。另外TXT里的路径格式也需要调整,不然读出来的路径会带多余符号。
错误原因拆解
- 代码逻辑错误:
json.load(file_list)中的file_list是你打开的file_paths.txt文件对象,里面存的是JSON文件的路径,不是JSON数据,用json.load解析它自然会失败。 - 路径格式错误:TXT里用逗号加换行的写法,会导致循环读取的每一行路径带逗号或换行符,比如第一行是
./dataset_1.json,,这样的路径根本找不到对应的文件。
正确解决方案
第一步:修正TXT文件的路径格式
把file_paths.txt改成每行一个JSON路径,不要逗号:
./dataset_1.json ./dataset_2.json
第二步:修正代码逻辑
遍历路径时,要打开对应的JSON文件来加载数据,同时处理行尾的空白字符:
import json with open('./file_paths.txt') as file_list: for line in file_list: # 去掉行尾的换行符、空格等多余字符 filename = line.strip() # 跳过空行(避免处理无效路径) if not filename: continue # 打开目标JSON文件并加载数据 with open(filename) as json_file: json_data = json.load(json_file) # 这里可以添加你对json_data的处理逻辑,比如打印、存储等 print(f"加载{filename}成功:", json_data)
这样就能批量读取所有JSON文件,不用手动多次调用open()了。
内容的提问来源于stack exchange,提问作者surequestion
相关产品推荐
相关产品推荐

