Zajęcia Python III nr 8 - notatki
Przechowywanie danych przez program po jego zakończeniu!
Podawanie ścieżki pliku w sposób:
- bezwzględny - cała ścieżka od początku do końca (od dysku, przez wszystkie foldery aż do pliku i z rozszerzeniem)
- względny - ścieżka względem tego gdzie się znajdujemy (np czy jesteśmy w jakimś folderze)
Polecenia terminalowe (na Win działa w PowerShell):
cat [ścieżka tu]- katalog/folder
cd .. - change directory, zmiana lokalizacji
ls - wyświetla zawartość folderu
https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/windows-commands
^ Tutaj jest dobra lista wielu poleceń które możemy użyć w Powershell.
Otwieranie plików w Pythonie
Możemy użyć, aby wyświetlić zawartość pliku jako tekst ("r" tutaj jest od read, czyli tylko odczyt bez edycji):
nazwa_zmiennej = open("jakistekst.txt", "r")
print(plik_zawartosc.read())Można też odczytywać zawartość pliku po linijce.
Wczytanie z możliwością edycji zawartości:
- ("w", zamiast "r") - de facto nadpisuje starą zawartość nową, przez co można przez nieuwagę przypadkiem skasować zawartość pliku!
- Prócz tego możemy użyć "a", która otwiera plik do zapisu, dodając nowe dane na końcu istniejącego pliku.

WITH
Przy otwieraniu plików warto używac słowa with, aby móc pominąć polecenie .close().
with open("jakistekst.txt", "w") as moj_plik:
moj_plik.write("jakis tekst - tylko nowy")Formaty plików
Dla komputera istnieją tylko dwa rodzaje danych - binarne i tekstowe. Wszelakie rozszerzenia są potrzebne do rozpoznawania poprzez programy (i przez nas, haha).
Python domyślnie przyjmuje, że ma traktować dane jako tekst.
Aby Python mógł korzystać z danych z różnych formatów, potrzebujemy odpowiednich bibliotek.
Uproszczona terminologia:
- serializacja- zamiana obiektów dostępnych dla aplikacji, rezydujących w pamięci komputera, na obiekty dostepne dla nas np. pliki
- deserializacja - zamiana plików na formę z której może korzystać aplikacja
Przydatne bibliteki:
- Pandas
- XML
- JSON
- CSV
- PyYAML

.strip() - usuwa spacje z lewej i prawej strony stringu
.lstrip() - usuwa z lewej
.rstrip() - usuwa z prawej
encoding="utf8" - wymusza stosowanie kodowania (w tym wypadku tabeli UTF-8)
UOJEZU
