Вы проверяете, есть ли line == '' or line == '\n'
в предложении if
для '#' in line
, где у него нет шансов быть True
.По сути, вам нужно сместить if line == '' or line == '\n':
влево:)
Кроме того, вы можете объединить два случая, поскольку вы выполняете одинаковые действия:
if '#' in line or not line or line == '\n':
print line
Но на самом деле, почемуВам нужно будет печатать пустые строки или '\n'
?
Редактировать: Если другие случаи, такие как line == '\t'
, должны обрабатываться одинаково, лучше всего использовать совет Тима и выполнить: if '#' in line or not line.strip()
.