Я пытаюсь выполнить цикл через текстовый файл и применить некоторую логику, но я не могу выполнить цикл через текстовый файл. Так в данный момент у меня есть текстовый файл, который структурирован следующим образом:Ошибка при циклическом перемещении по текстовому файлу в python
--- section1 ---
"a","b","c"
"d","e","f"
--- section2 ---
"1","2","3"
"4","5","6"
--- section3 ---
"12","12","12"
"11","11","11"
Я пытаюсь отфильтровать первую строку, которая содержит «---» и не преобразовывать строки ниже в JSON до следующего «--- 'в текстовом документе.
Однако я получил эту ошибку "fields1 = следующий (файл) .split ('') StopIteration
with open(fileName,'r') as file:
for line in file:
if line.startswith('-') and 'section1' in line:
while '---' not in next(file):
fields1 = next(file).split(',')
for x in range(0,len(fields1)):
testarr.append({
config.get('test','test'): fields1[x]
})
with open(test_dir,'w') as test_file:
json.dump(testarr, test_file)
Любая идея, почему мой код не работает, или как я могу решить эту ошибку?
Попробуйте писать как две петли в ряд вместо того, чтобы вставлять их. Loop1: пропустите все строки до '--- section1 ...'. Loop2: Дамп всех строк до тех пор, пока не будет выполнено другое '---'. –
Учитывая прошлые опыты с подобными названиями, я ожидал, что это будет сложный вопрос, который нужно закрыть. Вместо этого нашел четко сформулированный, ясный вопрос, в основном, всю имеющуюся соответствующую информацию. Много преимуществ ОП. –
Игнорировать мой оригинальный (теперь удаленный) комментарий. Прошло много времени с тех пор, как я увидел 'else' в цикле' while'. –