Вопрос задан 07.06.2023 в 07:04. Предмет Информатика. Спрашивает Фламенкова Саша.

Python Напишите программу, которая будет удалять все комментарии из исходного файла с кодом на

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Ребцовская Карина.

Відповідь:

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("Неизвестная ошибка")

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример программы, которая выполняет описанные вами действия:

python
import 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)

Программа сначала пытается открыть указанный файл и читает все строки в список. Затем она обрабатывает каждую строку, ищет символ '#' и удаляет все, начиная с этого символа до конца строки. Измененные строки выводятся на экран.

Если файл не найден, программа выведет сообщение "Файл не найден". Если возникнет другая ошибка, будет выведено сообщение "Неизвестная ошибка".

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос