Задача. Копирование файла без пустых строк
Напишите программу copy_without_empty.py, которая:
- Принимает два аргумента командной строки: входной файл и выходной файл.
- Копирует содержимое, пропуская пустые строки.
- Использует генераторное выражение или итератор для фильтрации.
Эталонное решение
# copy_without_empty.py
import sys
def copy_without_empty(src_path: str, dst_path: str) -> None:
"""Копирует файл, пропуская пустые строки."""
with open(src_path, "r", encoding="utf-8") as src:
lines = (line for line in src if line.strip())
with open(dst_path, "w", encoding="utf-8") as dst:
dst.writelines(lines)
if len(sys.argv) != 3:
print("Usage: python copy_without_empty.py input.txt output.txt")
sys.exit(1)
copy_without_empty(sys.argv[1], sys.argv[2])
Как проверить в VS Code
- Создайте
input.txtс несколькими строками, включая пустые. - Создайте
copy_without_empty.pyс решением. - Запустите:
python copy_without_empty.py input.txt output.txt - Откройте
output.txtи убедитесь, что пустых строк нет.