Jak wyodrębnić tekst z pliku TXT za pomocą Pythona: przewodnik krok po kroku (2025)
Jak w końcu nauczyłem się czytać plik tekstowy w Pythonie, nie psując przy tym tekstu
Jeśli jesteś taki jak ja, próba zmuszenia Pythona do odczytania prostego .txtpliku może być czasem uciążliwa. Niby powinno być to proste, ale drobiazgi, takie jak lokalizacja pliku, uprawnienia czy sposób jego otwarcia, mogą być problematyczne. Na początku zastanawiałem się, dlaczego mój skrypt ciągle zwraca błąd FileNotFoundErrorlub dlaczego po prostu nic nie pokazuje. Po kilku próbach i błędach, oto czego nauczyłem się na własnej skórze – może oszczędzi ci to trochę frustracji.
Zacznijmy od podstaw: utwórz przykładowy plik tekstowy
Najpierw upewniłem się, że mam gotowy plik tekstowy. Dosłownie, zwykły .txtplik z kilkoma słowami lub liczbami. Zapisz go w tym samym folderze, co skrypt Pythona. Jeśli znajduje się gdzie indziej, musisz podać Pythonowi pełną ścieżkę, co jest uciążliwe. W systemie Windows sprawdź, czy plik nie jest ustawiony na „ Tylko do odczytu” w oknie Właściwości, w przeciwnym razie Python może nie być w stanie go otworzyć. Czasami, na moim starszym laptopie ASUS, zauważyłem, że plik był głęboko ukryty w jakimś mało znanym katalogu lub miał ukryty atrybut, co utrudniało Pythonowi jego znalezienie. Na Linuksie lub Macu możesz sprawdzić uprawnienia ls -l sample.txtw terminalu. Upewnij się, że masz prawa odczytu – to podstawa.
Otwieranie pliku w Pythonie — wreszcie część, która działa
A teraz kod… Kluczem jest użycie open()odpowiedniej nazwy pliku i trybu. Jeśli skrypt i plik tekstowy znajdują się w tym samym folderze, wystarczy:
file = open('sample.txt', 'r')
Otwiera go w trybie tylko do odczytu, więc Python nie zmieni go przypadkowo. Ale tu właśnie tkwi problem: w systemie Windows, jeśli plik znajduje się w folderze chronionym lub użytkownik nie ma uprawnień, może on nieoczekiwanie zakończyć się niepowodzeniem lub zgłosić błędy. Dlatego dobrym pomysłem jest uruchomienie IDE lub wiersza poleceń jako administrator, jeśli wystąpią problemy z uprawnieniami. Podczas określania ścieżek pamiętaj o użyciu ukośników odwrotnych lub używaj surowych ciągów znaków, takich jak:
open(r'C:\Users\YourName\Documents\sample.txt', 'r')
Ale szczerze mówiąc, trzymanie pliku w tym samym katalogu co skrypt ułatwia życie. Nie ma potrzeby bawić się długimi ścieżkami, zwłaszcza jeśli po prostu eksperymentujesz.
Przeczytanie całej treści i wydrukowanie jej
Po otwarciu pliku, załadowanie wszystkiego jest proste. Użyj read():
content = file.read()
To powoduje, że cały tekst jest ciągiem znaków. Idealne do szybkiego podglądu lub do przetworzenia całego pliku na raz. Na przykład, możesz go wydrukować za pomocą:
print(content)
Widok całości w konsoli był zaskakująco satysfakcjonujący. Ale jest pewien haczyk — jeśli zapomnisz zamknąć plik, skrypt może pozostawić wiszący uchwyt, co może później powodować problemy. Nie zawsze od razu, ale lepiej dmuchać na zimne.
Najlepsza praktyka? Użyj tego withstwierdzenia
To właśnie w końcu do mnie dotarło. Zamiast ręcznie otwierać i zamykać, użyj:
with open('sample.txt', 'r') as file: content = file.read() print(content)
Dzięki temu Python zamknie plik za Ciebie, nawet jeśli wystąpią błędy. Jest to bardziej przejrzyste i mniej podatne na błędy, zwłaszcza podczas pracy nad większymi skryptami lub obsługi wielu plików.Żałuję, że nie zacząłem tego robić wcześniej — to jedna z tych dobrych praktyk, o których nigdy nie chcesz zapomnieć.
Dodatkowe wskazówki i rozwiązywanie problemów
- Sprawdź dokładnie ścieżkę do pliku.Ścieżki względne działają najlepiej, jeśli plik znajduje się w tym samym folderze, ale czasami potrzebna jest pełna ścieżka, zwłaszcza jeśli masz plik
FileNotFoundError. - Sprawdź, czy uprawnienia są prawidłowe — jeśli plik jest tylko do odczytu lub Twój użytkownik nie ma do niego dostępu, Python nie będzie mógł go otworzyć.
- Jeśli używasz systemu Windows i natrafisz na niewidzialną barierę, spróbuj uruchomić terminal lub środowisko IDE jako administrator.
- W systemie Linux lub Mac sprawdź uprawnienia za pomocą
ls -l. Użyjchmod +rw razie potrzeby. - Pamiętaj, że jeśli pracujesz z plikami w chronionych katalogach systemowych, może być konieczne wyłączenie zabezpieczeń Secure Boot lub TPM, albo przynajmniej sprawdzenie ustawień BIOS-u. Zdarzały mi się dziwne błędy spowodowane tym – na przykład Python odmawiał odczytu plików lub generował tajemnicze błędy uprawnień. Na niektórych komputerach pomogło przełączenie opcji Secure Boot lub BitLocker/TPM w BIOS-ie.
I nie zapomnij: po przeczytaniu zawsze zamknij pliki lub użyj withpolecenia. W przeciwnym razie możesz później napotkać dziwne błędy lub problemy z uprawnieniami.
Podsumowując
Zmuszenie Pythona do odczytu pliku jest proste, gdy tylko uporządkujesz ścieżki i uprawnienia. To właśnie te drobne szczegóły – lokalizacja pliku, uprawnienia, prawidłowe zamknięcie – sprawiają na początku trudność. Gdy już poznasz specyfikę swojego środowiska, wszystko działa płynnie. Mam nadzieję, że to pomoże – dopracowanie tych wszystkich drobiazgów zajęło mi zdecydowanie za dużo czasu. W każdym razie, sprawdź dokładnie lokalizację pliku, uprawnienia i użyj withmenedżera kontekstu, a wszystko będzie dobrze. Powodzenia i udanego kodowania!
Powiązane artykuły
Czy ten artykuł był pomocny?