Я пытаюсь удалить комментарии, начиная с новых строк в файле кода Python, используя код Python и регулярные выражения. Например, для этого входа:Удалить комментарии в текстовом файле
first line
#description
hello my friend
Я хотел бы получить этот результат:
first line
hello my friend
К сожалению, этот код не работает по какой-то причине:
with open(input_file,"r+") as f:
string = re.sub(re.compile(r'\n#.*'),"",f.read()))
f.seek(0)
f.write(string)
по какой-то причине выход, который я получаю, тот же, что и вход.
С одной стороны, это неправильно отступы ... Вы пытались разделить его на более мелкие шаги и проверить каждый? – jonrsharpe
Вы не сравниваете по строкам, я не думаю. Попробуйте многострочное совпадение: 're.compile ('^ #. *', Re.MULTILINE)'. – RobertB
После исправления нескольких синтаксических ошибок я обнаружил, что ваша программа работает точно так, как ожидалось. Пожалуйста, предоставьте краткую, полную, в противном случае, правильную программу, демонстрирующую ошибку. См. Http://stackoverflow.com/help/mcve для получения дополнительной информации. –