Zadanie bonusowe – crossout.py (5pkt)

Zadanie polega na napisaniu programu w pythonie, który pomaga w wykreślaniu zadanych słów lub wyrażeń w plikach tekstowych.

Np. wywołanie:

crossout.py -w cholewcia –cross “X” -c 3 –in moj_esej.txt

powinno wczytać zawartość pliku moj_esej.txt, następnie podmienić w niej wszystkie wystąpienia słowa “cholewcia” znakiem “X” powtórzonym trzy razy i wypisać wynik na wyjście standardowe.

Program powinien obsługiwać następujące opcje:

  • -w lub –word, słowo do zastąpienia, powinno posiadać wartość domyślną (Państwa ulubione słowo do wykreślenia)
  • -x lub –cross: znak służący do wykreślania, domyślnie “x”
  • -c lub –count: liczba znaków w wykreśleniu. Jeśli podamy liczbę całkowitą, zawsze wstawiamy tyle znaków (niezależnie od długości słowa), jeśli nie podamy tego parametru, to zamieniamy słowa na tyle “krzyżyków” ile znaków miało słowo
  • -l lub –list, ten parametr zastępuje -w, i określa nazwę pliku, w którym znajduje się lista słów (każde w oddzielnej linijce), które powinniśmy zastępować. Wynik działania dla listy jest taki sam jak dla kolejnego wywołania skryptu crossout.py dla każdego ze słów z osobna.
  • -o lub –out,  nazwa pliku wyjściowego (domyślnie standardowe wyjście)
  • -i lub –in, nazwa pliku wejściowego (domyślnie standardowe wejście)

Warto użyć modułu Argparse, przypominam, że na wykładzie omawialiśmy też przykładowy skrypt z użyciem ArgParse.

Jeśli ktoś chciałby w ten sposób zdobyć dodatkowe punkty, to proszę o wysyłanie rozwiązań a-mailem do mnie ( bartek@mimuw.edu.pl, z załącznikiem w postaci  pliku crossout.py i kluczem [WDI-BONUS] w temacie do najbliższego wtorku, 18.12.2014). Osoby wysyłające rozwiązanie powinny też przyjść w środę 19. lutego o 12.00 do mnie (p. 5770) i opowiedzieć o swoim rozwiązaniu.

Pytania proszę w komentarzach poniżej.

2 thoughts on “Zadanie bonusowe – crossout.py (5pkt)”

Leave a Reply

Your email address will not be published. Required fields are marked *