Я пытаюсь написать музыкальную программу на Python, которая берет некоторую музыку, написанную пользователем в текстовом файле, и превращает ее в миди.Я не особо разбираюсь в python на данном этапе, поэтому я не уверен, в чем причина этой проблемы.Я пытаюсь написать синтаксический анализатор исходного файла для программы, и частью этого процесса является создание списка, содержащего все строки текстового файла и разбивающего каждую строку на собственный список, чтобы с ними было легче работать.Я успешно могу сделать это, но есть проблема.
Я хочу, чтобы код игнорировал строки, которые являются только пробелами (таким образом, пользователь может сделать свой файл по крайней мере видудобочитаемым без объединения всех строк друг с другом), но я не могу понять, как это сделать.Я попытался сделать это
with open(path, "r") as infile:
for row in infile:
if len(row):
srclines.append(row.split())
И это работает , поскольку создание списка строк и разделение каждого слова идет, НО все еще добавляет пустые строки, которые являются только пробелами.Я подтвердил это, выполнив это
for entry in srclines:
print entry
Что дает, например,
['This', 'is']
[]
['A', 'test']
С исходным текстом
This is
A test
Но странно, если во времяна этапе печати я делаю еще одну проверку len (), тогда пустые строки на самом деле игнорируются так, как я хочу, и это выглядит так
['This', 'is']
['A', 'test']
В чем причина этого?Означает ли это, что я могу только просматривать список и удалять пустые записи после его создания?Или я просто делаю код импорта строки неправильно?Я использую Python 3.6 для тестирования этого кода с помощью