Stronę tą wyświetlono już: 39799 razy
W module os znajduje się szereg funkcji umożliwiających pozyskiwanie informacji na temat plików i folderów znajdujących się na dysku twardym komputera a także tworzenie i usuwanie tychże plików. Z tego względu niezbędna jest następująca deklaracja z mojej strony:
Ponieważ niewłaściwe (celowe lub niecelowe) wykorzystanie funkcji opisanych na tej stronie może doprowadzić do utraty cennych danych lub uszkodzenia samego systemu niniejszym oświadczam, że za sposób wykorzystania opisanej tutaj wiedzy odpowiada tylko i wyłącznie Czytelnik. Tym samym zwalnia mnie to z odpowiedzialności za konsekwencje niepoprawnego wykorzystania tutaj opisanych funkcji. |
Załadujmy na sam początek moduł
Pozyskiwanie bieżącej ścieżki dostępu za pomocą funkcji os.getcwd:
Wynik działania powyższego kodu jest zależny od systemu, z jakiego korzysta użytkownik, niemniej jednak wyświetlić się powinna ścieżka do bieżącej lokalizacji, która pod Linuksem może wyglądać mniej więcej tak:
/home/user/
Z kolei pod Windowsem:
C:\Users\User
Zmiana ścieżki dostępu za pomocą funkcji os.chdir:
Oczywiście powyższy kod zadziała poprawnie jedynie, gdy w domyślnej ścieżce znajduje się folder o nazwie jakiś folder.
Uzyskanie listy plików i folderów zawartych w danej lokalizacji za pomocą funkcji os.listdir:
I tu zaczynają się schody, ponieważ powyższy kod z pewnością wykona się poprawnie pod Linuksem, ale pod Windowsem może się wyburaczyć, albowiem w konsoli tegoż systemu używane jest kodowanie cp852, natomiast pliki mogą mieć nazwy, zawierające symbole wykraczające poza zakres kodowania cp852. W znaczącej jednak liczbie przypadków pliki nie powinny zawierać takich znaków a tym samym powinna się wyświetlić lista plików i folderów.
Sprawdzanie, czy dana ścieżka jest poprawna za pomocą funkcji os.path.exist:
Powyższa funkcja zwraca True, gdy ścieżka jest poprawna, False w przeciwnym przypadku.
Sprawdzanie, czy dana ścieżka jest bezwzględna za pomocą funkcji os.path.isabs:
Powyższa funkcja zwraca True, gdy ścieżka jest ścieżką absolutną, False w przeciwnym przypadku.
Sprawdzanie, czy dana ścieżka prowadzi do pliku za pomocą funkcji os.path.isfile:
Powyższa funkcja zwraca True, gdy ścieżka prowadzi do pliku, False w przeciwnym przypadku.
Sprawdzanie, czy dana ścieżka prowadzi do folderu za pomocą funkcji os.path.isdir:
Powyższa funkcja zwraca True, gdy ścieżka prowadzi do folderu, False w przeciwnym przypadku.
Sprawdzanie, czy dana ścieżka prowadzi do dysku za pomocą funkcji os.path.ismount:
Powyższa funkcja zwraca True, gdy ścieżka prowadzi do dysku, False w przeciwnym przypadku.
Pozyskanie rozmiaru pliku w bajtach za pomocą funkcji os.path.getsize:
Pozyskanie daty utworzenia pliku za pomocą funkcji os.path.getctime:
Wynik działania powyższego kodu:
Tue Apr 12 07:54:29 2016
Pozyskanie daty ostatniej modyfikacji pliku za pomocą funkcji os.path.getmtime:
Wyciąganie ścieżki do pliku i nazwy pliku za pomocą funkcji os.path.split:
Wynik działania:
('/home/user', 'file.txt')
Tworzenie nowego folderu za pomocą funkcji os.mkdir:
Usuwanie folderu za pomocą funkcji os.rmdir:
Uwaga! Funkcja os.rmdir usunie folder jedynie gdy ten jest pusty.
Usuwanie pliku za pomocą funkcji os.remove:
Zmiana nazwy pliku lub folderu za pomocą funkcji os.rename:
Funkcję rename można również wykorzystać do przeniesienia pliku z jednej lokalizacji do drugiej:
Jak widać funkcja ta może przenosić plik jednocześnie zmieniając jego nazwę.
Przeszukiwanie folderów i podfolderów za pomocą funkcji os.walk.
Funkcja os.walk zwraca trzy elementy: ścieżkę dostępu; listę folderów w niej znajdującą się i listę plików znajdujących się w tejże lokalizacji. Oto prosty skrypt, który tworzy plik FileData.txt i zapisuje w nim kolejne katalogi i pliki w nich zawarte: