Python OS.Przykład spaceru

Python OS.Przykład spaceru

Funkcja spaceru w dowolnym systemie operacyjnym jest jak system operacyjny.ścieżka. Funkcja spaceru generuje nazwy plików w drzewie katalogu, nawigując po drzewie w obu kierunkach, odgórne lub dolne poprzeczne. Każdy katalog na dowolnym drzewie systemu ma katalog podstawowy z tyłu. A potem działa jak podkatalog. Walk () generuje dane wyjściowe w trzech krotkach, ścieżce, katalogu i plikach, które są w dowolnym podkładce.

  • Dirpath: Jest to ciąg, który prowadzi pliki lub folder w kierunku ścieżki do katalogu.
  • Dirnames: Wszystkie nazwy sub -kontaktów, które nie zawierają.' I '… '.
  • Nazwy plików: Ścieżka katalogu zawierająca pliki inne niż pliki katalogowe. Jest to lista folderów lub plików, które mogą być pliki tworzone systemem lub utworzone przez użytkownika.

Nazwy obecne na liście nie zawierają żadnego elementu ścieżki. Aby pobrać pełną ścieżkę, która rozpoczyna się od góry do katalogu lub pliku na ścieżce katalogu, używamy systemu operacyjnego.chodzić.dołącz (), który ma argumenty Dirpath i nazwy katalogu.

Odgórne i oddolne to dwa opcjonalne argumenty jednocześnie. Oznacza to, że jedna z opcji ma być używana w funkcji, jeśli chcemy sekwencji katalogów. Podczas gdy w niektórych przypadkach sekwencja odgórna jest domyślnie wybierana, jeśli nie wspomniemy o żadnych argumentach dotyczących tej sekwencji. Jeśli argument odgórny jest prawdą, potrójne dla głównego katalogu jest najpierw wyświetlane, a następnie podwodniki później. A jeśli odgórne jest fałszywe, potrójne dla katalogu jest wyświetlane po tym dla podwodników. Innymi słowy, sekwencja jest w sposób oddolny.

Gdy sytuacja odgórna jest prawdziwa, użytkownik może zaktualizować listę nazw katalogów, a następnie Walk () będzie stosowany tylko na podwodnicy. Podczas gdy aktualizacja nazw katalism. Wynika to z faktu, że w trybie oddolnym nazwy katalogów w katalogach są wyświetlane przed ścieżką katalogu. Funkcja Listdir () może domyślnie wyeliminować błędy.

Python OS.Walk () pracujący

Zobaczmy, jak system plików jest przemierzany w Python. Działa jak drzewo o pojedynczym korzeni, który dalej dzieli się na gałęzie. A gałęzie są rozszerzone jako poddziały i tak dalej. Ta funkcja spaceru wyświetla nazwy plików w drzewie katalogu, nawigając po drzewie z góry lub od dołu.

Składnia systemu operacyjnego.chodzić()

# OS.Walk (top [, topdown = true [Oneerror = none [obserwuje się = false]]]))

szczyt = Jest to głowa lub punkt początkowy dowolnego trawersa podwodnego. Daje 3 krotki, jak opisaliśmy na początku artykułu.

Tupdown = W przypadku, gdy jest to prawdą, skanowanie katalogów jest od góry do końca i odwrotnie w odwrotnym przypadku.

Oneoroor = To jest specjalna funkcja, która jest zaprojektowana do monitorowania błędu. Może albo wykazać błąd, aby kontynuować spacer lub podniesienie wyjątku, aby odrzucić spacer.

Śledź linki = Prowadzi do nie do powstrzymania rekurencji; jest ustawiony na prawdziwe.

Notatka: Kolejnie Opcja jest ustawiona jako prawdziwa; Prowadzi to do nie do powstrzymania rekurencji, jeśli jakikolwiek link wskazuje na własny katalog podstawowy. Funkcja Walk () nie przyjmuje zapisu katalogów, które już przemierzała.

Przykład 1

Wszystkie pliki w katalogu należy wymienić za pomocą tej funkcji. Rozważ fragment kodu. Pierwszym krokiem jest zaimportowanie modułu OS, podobnie jak inne funkcje, które zostaną zaimportowane przez Python Library.

# Import OS

Następnie zdefiniujemy funkcję o nazwie 'moduł OS'. Wewnątrz tej funkcji użyj pętli, aby uzyskać wszystkie pliki po katalogach i korzeniu. Tutaj stosuje się technikę odgórną. I "Kolejnie”Jest prawdziwy.

Import OS
# Moduł systemu operacyjnego zawiera funkcję, która otrzymuje listę plików lub folderów
# w katalogu
# '.„oznacza bieżący folder
# Walk (…) Metoda generuje nazwy plików w drzewie katalogu, chodząc
# Drzewo albo od góry w dół lub dolnej części
def os_module ():
W przypadku root, dirs, plików w systemie operacyjnym.chodzić('.', Topdown = false, Oneerror = Brak, obserwowanie = true):
dla nazwy pliku w plikach:
Drukuj (nazwa pliku)
def main ():
drukuj ('\ n… za pomocą modułu systemu operacyjnego do wyświetlenia plików… \ n')
OS_Module ()
Jeśli __name__ == '__main__':
główny()

Ten moduł wydrukuje tylko nazwy plików w katalogu. ''.„Pełny przystanek, którego tu użyliśmy, jest specjalnie dla bieżącego folderu. W programie głównym wywołamy zadeklarowaną funkcję.

W wyjściu można zobaczyć nazwy plików w bieżącym folderze.

Przykład 2

Ta funkcja zwróci wartość, skanując wszystkie katalogi i podwodniki na bieżącej ścieżce katalogu od dołu do dolnego kierunku, jak tutaj od góry w dół = false tutaj.

OS.chodzić(".”, Topdown = false) #!/usr/bin/python
Import OS
W przypadku root, dirs, plików w systemie operacyjnym.chodzić(".", Topdown = False):
dla nazwy w plikach:
Drukuj (OS.ścieżka.dołącz (root, nazwa))
dla nazwy w Dirs:
Drukuj (OS.ścieżka.dołącz (root, nazwa))

Pętla służy do oddzielnego drukowania plików i katalogów. „„OS.ścieżka.dołączyć„Wnosi nazwę i główny katalog ze ścieżki.

Niewielka część wyjścia pokazano powyżej. Jeśli ktoś chce uzyskać wyjście w kolejności od góry do obniżenia, wówczas moduł odgółu powinien być utrzymywany jako prawdziwy.

# OS.chodzić(".”, Topdown = True)

Przykład 3

Ten przykład różni się od poprzednich w rodzaju zastosowanych parametrów. Tutaj funkcja zajmuje tylko „ścieżkę”. A dla pętli służy do wyświetlania wartości plików, katalogów ścieżki. IF-STATEMENT służy do ograniczenia wynikającej wartości w każdej linii na raz. Tutaj użyliśmy 4. Po 4 słowach wartość zostanie przesunięta w kierunku następnego wiersza. Wartość początkowa zmiennej „I” jest traktowana jako zero.

Import OS
ścieżka = "c: \\ użytkownicy"
i = 0
dla (ścieżka, dirs, pliki) w systemie operacyjnym.Walk (ścieżka):
Drukuj (ścieżka)
Drukuj (Dirs)
Drukuj (pliki)
wydrukować("----")
I += 1
Jeśli i> = 4:
przerwa

Odpowiednie wyjście pokazano poniżej. Ścieżka, katalogi i pliki są wyświetlane jako wyjście.

Przykład 4

Podobnie jak metoda spaceru () w systemie operacyjnym, możemy również użyć „OS.Listdir ()„Alternatywa dla ścieżki, która wyświetli wszystkie wartości konkretnej wartości. I.mi., Tutaj użyliśmy plików do drukowania. Ścieżka jest traktowana jako argument za funkcją. Wynikowa wartość będzie przechowywana w zmiennej pliki. W przypadku pętli wyświetli wszystkie pliki w odpowiednim katalogu.

# Pliki = OS.Listdir (ścieżka) Import OS
ścieżka = '/użytkownicy/użytkownik/.Spyder-py3 '
pliki = OS.Listdir (ścieżka)
dla F w plikach:
Drukuj (f)

Wyświetlana jest tutaj lista, która zawiera wszystkie pliki w odpowiednim katalogu.

Przykład 5

Widziałeś przykłady, w których wyświetlane są wszystkie foldery lub ścieżki, nawet te, które chcemy ukryć; Są również narażone. Ale „OS.Walk () ”wykorzystuje niektóre funkcje, które pozwalają wykluczyć ukryte katalogi.

Po zaimportowaniu modułu OS wprowadziliśmy ścieżkę, której użyjemy w przykładzie.

# Dirs.[:] = [D dla D w Dirs. Jeśli nie d.zaczynać z('.')] Import OS
ścieżka = 'c:/użytkownicy/użytkownik/.Spyder-py3 '
W przypadku root, dirs, plików w systemie operacyjnym.Walk (ścieżka):
Drukuj (root)
Dirs [:] = [d dla d w Dirs, jeśli nie d.zaczynać z('-')]
dla reż w Dirs:
Drukuj (OS.ścieżka.dołącz (root, reż))
dla plików w plikach:
Drukuj (OS.ścieżka.dołącz (root, plik))

Ta funkcja jest w stanie ukryć katalogi, teraz za pomocą tej listy ukryte katalogi nie są zawarte w wyjściu.

Przykład 6

Załóżmy, że masz listę nazw katalogu, które chcesz zaniedbać podczas funkcji Walk (). Jednym ze sposobów jest użycie metody opisanej powyżej. Drugi sposób zostanie tutaj wyjaśniony. To da ten sam wynik.

# Dirs.[:] = [] import OS
ścieżka = 'c:/użytkownicy/użytkownik/.Spyder-py3 '
W przypadku root, dirs, plików w systemie operacyjnym.Walk (ścieżka):
Jeśli root w Ignorate_List:
Dirs [:] = []
pliki [:] = []
Drukuj (Dirs [:])

Przykład 7

Jeśli chcesz wziąć wydruk wartości bezwzględnych, nazwy podkatalogów i katalogów, ale nie całej ścieżki, w tym przypadku używana jest funkcja Python Walk.

Import OS
x = r'c:/użytkownicy/użytkownik/.Spyder-py3 '
dla r, d, f w systemie OS.Walk (x):
Drukuj (d)

Ze wyjścia widać, że wynikowe wartości stały się ograniczone.

Wniosek

Funkcja „Python OS Walk” służy do przemierzania wszystkich ścieżek w katalogu, od góry do dołu lub od dołu do góry. Widzieliśmy również, jak ukryć niechciane dane. Z pewnością ten artykuł będzie pomocną przewagą wdrażania funkcji spaceru modułu OS w Python.