python 从文件构建嵌套数组,我希望在读到】的时候将前面的数组弹出,进入上一层数组开始继续写入,该怎么写代码,假设文件是每个字符一行
时间: 2024-12-24 13:42:49 浏览: 7
你可以使用Python的`open()`函数结合循环来逐行读取文件,并利用列表推导式来构建嵌套数组。这里有一个简单的例子,它会在遇到`】`字符时结束当前嵌套数组并返回到上一级:
```python
def parse_file(file_path):
arrays = []
current_array = []
with open(file_path, 'r') as file:
for line in file:
if line.strip() == "]":
# 如果遇到了】,则把当前数组添加到结果列表并清空当前数组
arrays.append(current_array)
current_array = []
else:
# 否则,继续追加元素到当前数组
current_array.append(line.strip())
# 文件的最后一行也可能包含数据,所以检查一下是否需要添加最后一个数组
if current_array:
arrays.append(current_array)
return arrays
# 使用这个函数处理你的文件
nested_arrays = parse_file('your_file.txt')
```
在这个代码里,`parse_file`函数会返回一个嵌套数组列表,其中每个内部数组对应文件中的一次序列。
阅读全文