
Python Напишите программу, которая будет удалять все комментарии из исходного файла с кодом на
языке Python. Пройдите по всем строкам в файле для поиска символа '#'. Обнаружив его, программа должна удалить все содержимое, начиная с этого символа и до конца строки. Гарантируется, что знак решетки не встречается в середине строки (то есть после какого-то текста, отступы до символа присутствовать могут). Сами строки удалять не нужно, количество строк в выводе должно совпадать с количеством строк в файле. Выведите новое содержимое на экран. Имя файла подается на вход и заранее не известно. Если указанного файла не существует, необходимо вывести соответствующее сообщение об ошибке FileNotFoundError: "Файл не найден". Если происходит другая ошибка, вывести сообщение об ошибке Exception: "Неизвестная ошибка".

Ответы на вопрос

Відповідь:
import os
filename = input("Введите имя файла: ")
# проверяем, существует ли файл
if not os.path.exists(filename):
print("Файл не найден")
else:
try:
with open(filename, "r") as f:
for line in f:
# ищем символ '#' в строке и удаляем все, что после него
index = line.find("#")
if index != -1:
line = line[:index]
print(line.rstrip()) # выводим обработанную строку без лишних пробелов
except Exception:
print("Неизвестная ошибка")



Вот пример программы, которая выполняет описанные вами действия:
pythonimport os
def remove_comments(file_name):
try:
with open(file_name, 'r') as file:
lines = file.readlines()
modified_lines = []
for line in lines:
index = line.find('#')
if index != -1:
modified_lines.append(line[:index] + '\n')
else:
modified_lines.append(line)
for modified_line in modified_lines:
print(modified_line, end='')
except FileNotFoundError:
print("Файл не найден")
except Exception:
print("Неизвестная ошибка")
# Пример вызова функции
file_name = input("Введите имя файла: ")
remove_comments(file_name)
Программа сначала пытается открыть указанный файл и читает все строки в список. Затем она обрабатывает каждую строку, ищет символ '#' и удаляет все, начиная с этого символа до конца строки. Измененные строки выводятся на экран.
Если файл не найден, программа выведет сообщение "Файл не найден". Если возникнет другая ошибка, будет выведено сообщение "Неизвестная ошибка".


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili