49. Удаляем комментарии.

(открыть в новой вкладке)

Условие:

В системах Linux конфигурационные файлы изобилуют строками-комментариями, которые начинаются со знака решётки #. К примеру, возьмём конфигурационный файл популярного сервиса SSH - это sshd_config. Необходимо выбросить из него все строки начинающиеся на знак решётки # или со знака переноса строки \n. После обработки сохранить конфигурационный файл в тот же каталог, но только дате ему другое название, к примеру sshd_config_new.
Программа должна запускаться из командной строки и получать файл sshd_config в качестве аргумента.
Можно взять файл для обработки по ссылке: ⇒ конфигурационный файл SSH

Код:

from sys import argv 

try:
    script, first = argv         
    buf = open(f"./{first}", "r")       
    text = buf.readlines()                                                    # прочитаем текст как список строк
    result = []                                                               # сюда накопим новый список без ненужных строк
    for i in text:
        if i[0] != "#" and i[0] != "\n":                                      # выбросим строки, начинающиеся на # и на перенос строки "\n"
            result.append(i)
    buf_out = open(f"./{first}_new", "w")
    temp = ""                                                                 # создадим конечную строку
    for i in result:
        temp += i
    buf_out.write(temp)
    buf_out.close()
except:
    print("Имя файла не существует или слишком много аргументов.")