Zanurkuj w Pythonie/Praca z katalogami: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
tłumaczenie |
tłumaczenie |
||
Linia 2:
== 6.5. Praca z folderami ==
Moduł <tt>os.path</tt> zawiera kilka funkcji służących do manipulacji plikami i
'''Przykład 6.16. Tworzenie ścieżek do plików'''
Linia 19:
# Funkcja <tt>join</tt> modułu <tt>os.path</tt> tworzy ścieżkę dostępu do pliku z jednej lub kilku ścieżek częściowych. W tym przypadku po prostu łączy dwa stringi. (Zauważ, że w Windowsie musisz używać podwójnych ukośników)
# W tym, trochę bardziej skomplikowanym, przypadku, <tt>join</tt> dopisze dodatkowy ukośnik do ścieżki przed dołączeniem do niej nazwy pliku. Byłem bardzo szczęśliwy, gdy to odkryłem, bo <tt>addSlashIfNecessary</tt> było jedną z najgłupszych małych funkcji, które musiałem napisać zaczynając programować w nowym języku. Nie pisz tej głupiej funkcji w Pythonie, mądrzy ludzie zrobili to już za Ciebie.
# <tt>expanduser</tt> rozwninie w ścieżce znak <tt>~</tt> na ścieżkę
# Używając tych technik, możesz łatwo tworzyć ścieżki do plików i
'''
>>> os.path.split("c:\\music\\ap\\mahadeva.mp3") #(1)
Linia 36:
>>> extension
'.mp3'
# Funkcja <tt>split</tt> dzieli pełną ścieżkę i zwraca krotkę zawierającą ścieżkę
# Przypisujesz wynik działania funkcji <tt>split</tt> krotce dwóch zmiennych. Każda zmienna będzie teraz zawierać wartość
# Pierwsza zmienna, <tt>filepath</tt>, zawiera pierwszy element krotki - ścieżkę pliku.
# Druga zmienna, <tt>filename</tt>, zawiera drugi element krotki - nazwę pliku.
# Moduł <tt>os.path</tt> zawiera też funkcję <tt>splitext</tt>, która zwraca krotkę zawierającą właściwą nazwę pliku i jego rozszerzenie. Używasz tej samej techniki, co poprzednio, do przypisania każdej części do osobnej zmiennej.
'''
>>> os.listdir("c:\\music\\_singles\\") #(1)
Linia 65:
'System Volume Information', 'TEMP', 'WINNT']
# Funkcja <tt>listdir</tt> pobiera ścieżkę do
# <tt>listdir</tt> zwraca zarówno pliki jak i foldery, bez wskazania które są którymi.
# Możesz użyć filtrowania listy i funkcji <tt>isfile</tt> modułu <tt>os.path</tt> aby oddzielić pliki od folderów. <tt>isfile</tt> pobiera ścieżkę i zwraca <tt>1</tt>, jeśli reprezentuje ona plik albo <tt>0</tt> w innym przypadku. W przykładzie używamy <tt>os.path.join</tt> aby uzyskać pełną ścieżkę ale <tt>isfile</tt> pracuje też z częściowymi ścieżkami względnymi wobec bieżącego koatalogu. Możesz użyć <tt>os.getcwd()</tt> aby dostać bieżący katalog.
# <tt>os.path</tt> zawiera też funkję <tt>isdir</tt>, zwracającą <tt>1</tt> jeśli ścieżka reprezentuje
'''Przykład 6.19. Listowanie zawartości folderu w <tt>fileinfo.py</tt>'''
Linia 87:
{{Infobox|
}}
Jest jeszcze jedna metoda dostania się do zawartości folderu. Jest bardzo potężna i używa zestawu symboli wieloznacznych, z którymi mogłeś się spotkać pracując w linii komend.
'''Example 6.20. Listing Directories with glob'''
|