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.
Można uznać, że duże i małe litery, to różne słowa?
Tak, Ala i ala to różne słowa.