Wczytaj i wypisz treść pliku
Treść zadania
Wczytaj ścieżkę pliku tekstowego i wypisz jego treść dokładnie tak, jak jest zapisana w pliku (wiersz po wierszu, razem z pustymi wierszami w środku).
Dane wejściowe
- 1. linia: ścieżka pliku
Dane wyjściowe
- Treść pliku. Pusty plik — nic nie wypisuj.
Plik nie istnieje.— jeśli podana ścieżka nie wskazuje istniejącego pliku (np. wskazuje folder albo nic).
Uwagi
- Sprawdzarka ignoruje końcowe spacje w wierszach i puste wiersze na samym końcu wyjścia, więc nie musisz się przejmować tym, czy plik kończy się znakiem nowej linii.
Przykłady
wiadomość.txtWitaj! To jest przykładowa treść pliku tekstowego.
wiadomość.txt
Witaj! To jest przykładowa treść pliku tekstowego.
wiadomość.txtWitaj!
list.txt
Plik nie istnieje.
Potrzebujesz teorii?
Zasady obowiązujące w rozdziale 20
Poniższe zadania polegają na wczytywaniu danych ze standardowego wejścia (stdin), wykonywaniu operacji na plikach i folderach oraz wypisywaniu wyniku na standardowe wyjście (stdout).
Każde zadanie jest osobnym, niezależnym programem.
Konwencje wspólne:
- Program działa na plikach w katalogu roboczym, czyli w folderze, w którym jest uruchamiany. Wszystkie ścieżki na wejściu są względne wobec katalogu roboczego i używają
/jako separatora, np.dane/raport.txt. Ścieżki wczytuj jako całe linie — mogą zawierać spacje. - Sprawdzarka przed każdym testem tworzy nowy katalog roboczy z plikami opisanymi w teście, uruchamia program, a potem sprawdza zarówno wypisany tekst, jak i zawartość plików.
- W przykładach Pliki przed: pokazuje zawartość katalogu roboczego przed uruchomieniem programu, a Pliki po: — stan wybranych plików po jego zakończeniu. Każda linia to ścieżka pliku, a linie zaczynające się od
|to kolejne wiersze jego treści. Ścieżka zakończona/to pusty folder,(rozmiar: N B)oznacza plik o rozmiarze N bajtów, a(usunięty)— plik, którego po zakończeniu programu ma już nie być. - Pliki tekstowe są zapisane w kodowaniu UTF-8 — otwieraj je przez
open(sciezka, encoding="utf-8"). - Rozszerzenie to końcówka nazwy pliku od ostatniej kropki (razem z nią), np.
archiwum.tar.gzma rozszerzenie.gz. Rozszerzenia porównuj bez względu na wielkość liter (.TXTto też.txt). - Listy plików wypisuj po jednym w linii, jako ścieżki względem podanego folderu z separatorem
/(np.2024/raport.txt), posortowane rosnąco tak, jak sortuje napisy funkcjasorted(). Na Windowsie ścieżki mają separator\— zamień go na/(np. metodąPath.as_posix()). - Komunikaty dla przypadków brzegowych wypisuj dokładnie w podanej postaci, np.
Folder nie istnieje.,Plik nie istnieje.,Brak plików. - Program nie wypisuje komunikatów typu „Podaj ścieżkę:”. Tekst podany w
input("…")jest ignorowany przez sprawdzarkę.
Zadanie pochodzi z otwartego zbioru Nauka-Programowania (z rozwiązaniami wzorcowymi). Zgłoś błąd w treści lub testach.
Przywrócono Twój zapisany kod.
Python uruchomi się w przeglądarce przy pierwszym teście.
Kod zapisuje się automatycznie w tej przeglądarce. Tab wstawia wcięcie; aby opuścić edytor klawiaturą, naciśnij Esc, a potem Tab.
Testy
Program dostaje „Wejście” przez input() i musi wypisać „Oczekiwane wyjście”. Liczby porównywane są z tolerancją 0,01, a tekst podany w input("…") nie jest sprawdzany.
Test 1
Nie uruchomionowiadomosc.txt
Cześć! To jest wiadomość testowa.
wiadomosc.txtCześć! To jest wiadomość testowa.
Test 2
Nie uruchomionodane/wiersz.txt
Litwo! Ojczyzno moja! ty jesteś jak zdrowie. Ile cię trzeba cenić, ten tylko się dowie,
dane/wiersz.txtLitwo! Ojczyzno moja! ty jesteś jak zdrowie. Ile cię trzeba cenić, ten tylko się dowie,
Test 3
Nie uruchomionomoje notatki/zakupy.txt
mleko chleb masło
moje notatki/zakupy.txtmleko chleb masło
Test 4
Nie uruchomionokod.py
def f():
return 42
kod.pydef f(): return 42
Test 5
Nie uruchomionopusty.txt
(brak)
pusty.txt
Test 6
Nie uruchomionoa.txt
Plik nie istnieje.
dane/a.txtx
Test 7
Nie uruchomionodane
Plik nie istnieje.
dane/a.txtx