Я работаю над этим кодом (на python), который читает текстовый файл. Текстовый файл содержит информацию, чтобы построить определенную геометрию, и она отделена от секций, используя ключевые слова, например, файл:Как читать и упорядочивать текстовые файлы, деленные на ключевые слова
*VERTICES
1 0 0 0
2 10 0 0
3 10 10 0
4 0 10 0
*EDGES
1 1 2
2 1 4
3 2 3
4 3 4
содержит информацию квадрата с вершинами в точке (0,0), (0,10), (10,0), (10,10). Часть «* Edges» определяет связь между вершинами. Первое число в каждой строке - это идентификационный номер.
Вот моя проблема, информация в текстовом файле не обязательно в порядке, иногда появляется раздел «Вершины», а иногда другие разделы «Края» на первом месте. У меня есть и другие ключевые слова, поэтому я стараюсь избегать повторения операторов if
, чтобы проверить, имеет ли каждая строка новое ключевое слово.
То, что я делал это чтение текстовых файлы несколько раз, каждый раз ищу другое ключевое слово:
open file
read line by line
if line == *Points
store all the following lines in a list until a new *command is encountered
close file
open file (again)
read line by line
if line == *Edges
store all the following lines in a list until a new *command is encountered
close file
open file (again)
...
Может кто-то момент, как я могу определить эти ключевые слова без такой утомительной процедуры? Благодарю.
Запускается ли все разделы с '*'? Просто создайте словарь всех разделов, затем вы можете ссылаться на них по имени, и неважно, в каком порядке они происходят. – AChampion
Им не нужно начинать с *. Спасибо за совет, позвольте мне посмотреть, могу ли я реализовать словарь. –