W tym samouczku dowiesz się o zarządzaniu plikami i katalogami w Pythonie, tj. Tworzeniu katalogu, zmianie jego nazwy, wyświetlaniu wszystkich katalogów i pracy z nimi.
Wideo: moduł systemu operacyjnego Python
Katalog Pythona
Jeśli istnieje duża liczba plików do obsłużenia w naszym programie w języku Python, możemy rozmieścić nasz kod w różnych katalogach, aby ułatwić zarządzanie nimi.
Katalog lub folder to zbiór plików i podkatalogów. Python ma os
moduł, który dostarcza nam wielu przydatnych metod pracy z katalogami (a także plikami).
Pobierz bieżący katalog
Aktualny katalog roboczy możemy pobrać getcwd()
metodą os
modułu.
Ta metoda zwraca bieżący katalog roboczy w postaci ciągu. Możemy również użyć getcwdb()
metody, aby pobrać go jako obiekt bajtów.
>>> import os >>> os.getcwd() 'C:\Program Files\PyScripter' >>> os.getcwdb() b'C:\Program Files\PyScripter'
Dodatkowy ukośnik odwrotny oznacza sekwencję ucieczki. print()
Funkcja czyni to prawidłowo.
>>> print(os.getcwd()) C:Program FilesPyScripter
Zmiana katalogu
Aktualny katalog roboczy możemy zmienić za pomocą chdir()
metody.
Nowa ścieżka, w którą chcemy się zmienić, musi być dostarczona jako ciąg znaków do tej metody. Do oddzielenia elementów ścieżki możemy użyć zarówno ukośnika do przodu, jak /
i do tyłu .
Bezpieczniej jest użyć sekwencji ucieczki, gdy używasz ukośnika w tył.
>>> os.chdir('C:\Python33') >>> print(os.getcwd()) C:Python33
Lista katalogów i plików
Wszystkie pliki i podkatalogi w katalogu można pobrać za pomocą tej listdir()
metody.
Ta metoda przyjmuje ścieżkę i zwraca listę podkatalogów i plików w tej ścieżce. Jeśli nie określono ścieżki, zwraca listę podkatalogów i plików z bieżącego katalogu roboczego.
>>> print(os.getcwd()) C:Python33 >>> os.listdir() ('DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'pythonw.exe', 'README.txt', 'Scripts', 'tcl', 'Tools') >>> os.listdir('G:\') ('$RECYCLE.BIN', 'Movies', 'Music', 'Photos', 'Series', 'System Volume Information')
Tworzenie nowego katalogu
Możemy utworzyć nowy katalog za pomocą mkdir()
metody.
Ta metoda pobiera ścieżkę do nowego katalogu. Jeśli pełna ścieżka nie zostanie określona, nowy katalog zostanie utworzony w bieżącym katalogu roboczym.
>>> os.mkdir('test') >>> os.listdir() ('test')
Zmiana nazwy katalogu lub pliku
rename()
Sposób można zmienić nazwę katalogu lub pliku.
Aby zmienić nazwę dowolnego katalogu lub pliku, rename()
metoda przyjmuje dwa podstawowe argumenty: starą nazwę jako pierwszy argument i nową nazwę jako drugi argument.
>>> os.listdir() ('test') >>> os.rename('test','new_one') >>> os.listdir() ('new_one')
Usuwanie katalogu lub pliku
Plik można usunąć (usunąć) za pomocą remove()
metody.
Podobnie rmdir()
metoda usuwa pusty katalog.
>>> os.listdir() ('new_one', 'old.txt') >>> os.remove('old.txt') >>> os.listdir() ('new_one') >>> os.rmdir('new_one') >>> os.listdir() ()
Uwaga : ta rmdir()
metoda może usuwać tylko puste katalogi.
Aby usunąć niepusty katalog, możemy skorzystać z rmtree()
metody wewnątrz shutil
modułu.
>>> os.listdir() ('test') >>> os.rmdir('test') Traceback (most recent call last):… OSError: (WinError 145) The directory is not empty: 'test' >>> import shutil >>> shutil.rmtree('test') >>> os.listdir() ()