Мне нужно прочитать несколько файлов .dat и извлечь из них соответствующую информацию.
Файлы .dat обычно начинаются примерно с 15-25 строк комментариев (строка начинается с «#»), затем следующие две строки - это числа, которые указывают на их природу и размер. Однако, как только я пытаюсь прочитать первую строку без комментариев, мой код начинает читать со второй строки без комментариев. Кажется, я не могу понять, в чем проблема: / Любая помощь будет высоко ценится, поскольку это мешает мне выполнять другие более сложные операции с этими файлами .dat.
Вот мой некорректный код:
PS: Если есть более питонический способ, пожалуйста, дайте мне знать:)
#Packages needed
from itertools import dropwhile
# In[]
#defining function to check if line starts with some character, here #
def is_comment(s):
# return true if a line starts with #
return s.startswith('#')
# In[]
file = "foo.dat"
#viewing important info
with open(file, "r") as f:
for line in dropwhile(is_comment, f):
Nat = f.readline()
print("Nature:", Nat)
S = f.readline()
print("Size, S:", S)
break
Пожалуйста, найдите прикрепленный скриншот foo.dat файл в вопросе. foo.dat Или текстовая версия здесь: https://pastebin.com/C91dpUXK
* Редактировать: добавлена ссылка на текстовый файл