Zarządzanie katalogami i plikami w Pythonie

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 osmoduł, 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ą osmoduł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 shutilmoduł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() ()

Interesujące artykuły...