Os.Path.Join w Pythonie: praktyczny przewodnik z przykładami

Os.Path.Join w Pythonie: praktyczny przewodnik z przykładami

Podczas poznawania Pythona i podejmowania się bardziej złożonych projektów zauważysz, że niektóre projekty zawierają wiele plików. Zarządzanie tymi plikami może spowolnić twoje postępy i odwrócić twoją uwagę, dlatego ważne jest, aby nauczyć się manipulować ścieżkami plików i katalogami za pomocą funkcji Pythona. Jedną z podstawowych funkcji służących do osiągnięcia tego celu jest os.path.join().

Funkcja os.path.join() umożliwia połączenie jednego lub większej liczby segmentów ścieżki w celu utworzenia pełnej ścieżki. Zapewnia to umieszczenie dokładnie jednego separatora katalogu między każdą niepustą częścią, z wyjątkiem ostatniej części. W ten sposób można uniknąć ręcznego kodowania nazw ścieżek .

Os.Path.Join w Pythonie: praktyczny przewodnik z przykładami

W tym artykule przyjrzymy się wykorzystaniu modułu os.path i sposobom tworzenia ścieżek niezależnych od platformy. Zacznijmy od przeglądu os.path.join!

Spis treści

Omówienie os.path.join

os.path.join to użyteczna metoda w module os.path Pythona , która umożliwia łączenie jednego lub więcej segmentów ścieżki w celu utworzenia kompletnej ścieżki systemu plików.

Jest to przydatne podczas pracy z plikami i katalogami, ponieważ pomaga tworzyć ścieżki w sposób niezależny od platformy, bez konieczności kodowania na stałe.

Os.Path.Join w Pythonie: praktyczny przewodnik z przykładami

Gdy używasz metody os.path.join() , pobiera ona path i paths jako parametry, gdzie path i komponenty w paths mogą być łańcuchem znaków lub obiektem bytes reprezentującym ścieżkę.

Metoda łączy ścieżkę ze wszystkimi członkami *paths , zapewniając, że po każdej niepustej części, z wyjątkiem ostatniej, pojawi się tylko jeden separator katalogu.

Wymieniliśmy kilka ważnych punktów, o których warto pamiętać o os.path.join() :

  • Pomaga tworzyć ścieżki niezależne od platformy, które działają w różnych systemach operacyjnych.

  • Metoda automatycznie zajmuje się dodaniem wymaganego separatora katalogów (albo ukośnikiem w przód / lub ukośnikiem odwrotnym w zależności od systemu operacyjnego) między komponentami ścieżki.

  • Możesz użyć os.path.join() z innymi metodami systemu operacyjnego , takimi jak os.walk() , podczas konstruowania ścieżek do plików lub folderów.

Poniżej przedstawiono przykład użycia metody os.path.join() do łączenia plików i folderów w jedną ścieżkę:

import os

path1 = "folder1"
path2 = "folder2"
filename = "helloworld.txt"

full_path = os.path.join(path1, path2, filename)
print(full_path)

W tym przykładzie os.path.join() służy do łączenia folder1 , folder2 i example_file.txt w jedną ścieżkę. Wynikowy wynik pokazano na poniższym obrazku:

Os.Path.Join w Pythonie: praktyczny przewodnik z przykładami

os.path.join() zapewnia wygodną pracę ze ścieżkami do plików i katalogów.

Powyższy przykład zawiera przegląd przydatności metody os.path.join() . W następnej sekcji przyjrzymy się składni os.path.join() , aby pomóc Ci lepiej zrozumieć logikę stojącą za tą funkcją.

Jaka jest składnia os.path.join()?

W tej sekcji omówimy składnię i parametry metody os.path.join() w Pythonie.

Os.Path.Join w Pythonie: praktyczny przewodnik z przykładami

Składnia funkcji os.path.join() jest następująca:

os.path.join(path, *paths)

Wymieniliśmy kluczowe parametry, z którymi musisz się zapoznać podczas korzystania z tej funkcji:

  • ścieżka : To jest pierwsza część adresu pliku lub folderu. Zwykle jest to ciąg znaków (sekwencja liter, cyfr lub symboli), ale mogą to być również inne typy danych, które działają jak ciąg znaków.

  • *ścieżki : Są to wszelkie inne części adresu pliku lub folderu, które chcesz dodać do pierwszej części. Możesz dodać tyle części, ile chcesz. Podobnie jak w przypadku pierwszej części, mogą to być ciągi znaków lub inne typy danych, które działają jak ciągi znaków.

Podczas korzystania z metody os.path.join() metoda łączy podane ścieżki, wstawiając odpowiedni separator (np. / lub ) w zależności od systemu. Dzięki temu połączone ścieżki są zgodne z systemem operacyjnym i innymi funkcjami języka Python.

Teraz, gdy znasz już składnię funkcji os.path.join() , przyjrzyjmy się modułowi os, który umożliwia korzystanie z tej funkcji.

Jak korzystać z funkcji os.path.join

Aby zacząć używać metody os.path.join w swoim programie w Pythonie, musisz najpierw zaimportować niezbędny moduł os. os oznacza, że ​​jest to funkcja zależna od systemu operacyjnego .

Aby zaimportować moduł os, po prostu dodaj następujący wiersz na początku skryptu Pythona:

import os

Po zaimportowaniu modułu os możesz skorzystać z różnych metod, w tym os.path.join .

Ta metoda jest szczególnie przydatna do inteligentnego łączenia komponentów ścieżki. Pomaga to uniknąć problemów z konkatenacją ścieżek i sprawia, że ​​kod jest bardziej przenośny i czytelny.

Aby użyć os.path.join , możesz wywołać go z żądanymi komponentami ścieżki jako argumentami:

combined_path = os.path.join(path1, path2)

Włączenie modułu os i metody os.path.join do kodu zapewnia spójność i niezawodność manipulowania ścieżkami plików na różnych platformach.

Ważne jest również, aby wiedzieć, jak pracować ze ścieżkami podczas korzystania z funkcji os.path.join() w kodzie Pythona .

Jak pracować ze ścieżkami

W tej sekcji przyjrzymy się różnym składnikom path, które pozwolą ci tworzyć lub manipulować ścieżkami w zależności od problemu.

W szczególności przyjrzymy się następującym kwestiom:

  1. Łączenie komponentów ścieżki za pomocą os.path.join()

  2. Ścieżki bezwzględne i względne

1. Łączenie komponentów ścieżki za pomocą os.path.join()

Podczas pracy z plikami i katalogami w Pythonie często trzeba manipulować nazwami ścieżek za pomocą metody join. Pomocnym narzędziem do tego celu jest funkcja os.path.join () .

Poniższy przykład pokazuje, jak można łączyć ścieżki za pomocą metody os.path.join:

import os

path1 = "home"
path2 = "your_directory"
filename = "your_file.txt"

fullpath = os.path.join(path1, path2, filename)
print(fullpath) 

W tym skrypcie Pythona manipulujemy ścieżkami plików, łącząc ze sobą części „/home”, „your_directory” i „your_file.txt” za pomocą funkcji os.path.join () .

Wynikiem jest pojedynczy ciąg, który tworzy kompletną połączoną ścieżkę, która reprezentuje lokalizację pliku your_file.txt w systemie.

Os.Path.Join w Pythonie: praktyczny przewodnik z przykładami

Aby dowiedzieć się więcej o manipulacji i transformacji w Pythonie, obejrzyj poniższy film:

2. Ścieżki bezwzględne i względne

Podczas korzystania z funkcji os.path.join() można pracować zarówno ze ścieżkami bezwzględnymi, jak i względnymi.

Ścieżka bezwzględna to pełna ścieżka rozpoczynająca się od katalogu głównego i zawierająca wszystkie składniki nazwy ścieżki.

Poniżej przedstawiono przykład pracy ze składnikiem ścieżki bezwzględnej przy użyciu metody os.path.join() :

import os

# Absolute path
abs_path1 = "/var/www"
abs_path2 = "html"
filename = "index.html"
full_abs_path = os.path.join(abs_path1, abs_path2, filename)
print(full_abs_path)  # "/var/www/html/index.html"

W tym skrypcie tworzymy bezwzględną ścieżkę do pliku o nazwie index.html znajdującego się w katalogu html w katalogu /var/www.

Osiągamy to za pomocą funkcji os.path.join() w celu połączenia „/var/www”, „html” i „index.html” w jedną, pełną ścieżkę.

Os.Path.Join w Pythonie: praktyczny przewodnik z przykładami

Ścieżka względna wskazuje lokalizację pliku lub katalogu względem bieżącego katalogu. Poniżej przedstawiono przykład pracy ze ścieżkami względnymi w metodzie os.path.join() :

import os

rel_path1 = ".."
rel_path2 = "other_directory"
filename = "example.txt"
full_rel_path = os.path.join(rel_path1, rel_path2, filename)
print(full_rel_path)  # "../other_directory/example.txt"

W tym kodzie tworzymy względną ścieżkę do pliku o nazwie example.txt w katalogu o nazwie inny_katalog. Ten katalog znajduje się o jeden poziom wyżej od bieżącego katalogu, reprezentowany przez „..”.

Używamy funkcji os.path.join() , aby połączyć te części w jedną kompletną względną istniejącą ścieżkę.

Os.Path.Join w Pythonie: praktyczny przewodnik z przykładami

Innym ważnym elementem pracy z katalogami jest dostęp do bieżącego katalogu roboczego. Kiedy używasz funkcji os.path.join() , przez większość czasu będziesz mieć dostęp do bieżącego katalogu roboczego. Dzieje się tak, ponieważ bieżący katalog roboczy działa jako punkt wyjścia podczas konstruowania nowych.

Zobaczmy, jak możesz uzyskać dostęp do bieżącego katalogu roboczego!

Jak uzyskać dostęp do bieżącego katalogu roboczego w Pythonie

Podczas pracy ze ścieżkami i katalogami możesz natknąć się na sytuacje, w których musisz poruszać się po katalogach lub uzyskiwać dostęp do plików z różnych lokalizacji. Zrozumienie koncepcji bieżącego katalogu roboczego (CWD) jest w tym celu kluczowe.

Bieżący katalog roboczy to folder, w którym aktualnie jest wykonywany skrypt Pythona.

Aby uzyskać bieżący katalog roboczy, możesz użyć funkcji os.getcwd() z modułu os , jak pokazano w poniższym przykładzie kodu:

import os

current_directory = os.getcwd()
print("Current working directory:", current_directory)

Ten kod daje nam bieżący katalog roboczy, jak pokazano poniżej:

Os.Path.Join w Pythonie: praktyczny przewodnik z przykładami

Czy ścieżki utworzone za pomocą os.path.join są kompatybilne z różnymi platformami

Tak, funkcja os.path.join() zapewnia tworzenie ścieżek plików w sposób przenośny, niezależnie od używanego systemu operacyjnego.

Ta funkcja dba o użycie poprawnego separatora katalogów dla bieżącej platformy, dzięki czemu Twój kod jest łatwiejszy w dostosowywaniu i utrzymaniu.

Weźmy na przykład następujący przykład, w którym łączymy ścieżki i pliki za pomocą os.path.join() :

import os

path = os.path.join('directory1', 'directory2', 'file.txt')
print(path)

W chwili pisania tego tekstu korzystaliśmy z systemu operacyjnego Windows, a dane wyjściowe wyglądały następująco:

Os.Path.Join w Pythonie: praktyczny przewodnik z przykładami

Dane wyjściowe pokazują katalog domowy bieżącego użytkownika.

Jeśli jednak używasz systemu operacyjnego opartego na Uniksie, dane wyjściowe będą wyglądać następująco:

/directory2/file.txt

W powyższym przykładzie widać, że separatory katalogów różnią się w zależności od systemu operacyjnego, co ilustruje sposób, w jaki os.path.join() automatycznie radzi sobie z różnicami.

Teraz, gdy znasz podstawowe składniki funkcji os.path.join() , przyjrzyjmy się przykładom i przypadkom użycia tej funkcji.

Jakie są przypadki użycia os.path.join()?

W tej sekcji przyjrzymy się kilku przykładom użycia os.path.join() w projektach Pythona . Te przykłady pomogą Ci lepiej zrozumieć, kiedy używać funkcji os.path.join() w swoim kodzie.

1. Odczytywanie i zapisywanie plików

Podczas pracy z plikami często trzeba podać pełną ścieżkę do pliku. Ścieżka ta może wymagać dynamicznego konstruowania na podstawie takich czynników, jak system operacyjny użytkownika, bieżący katalog roboczy lub dane wprowadzone przez użytkownika.

os.path.join() pomaga budować te ścieżki w sposób niezawodny i niezależny od platformy.

Poniżej znajduje się przykład odczytu i zapisu plików przy pomocy os.path.join() :

directory = input("Enter the directory where the file is stored: ")
filename = input("Enter the filename: ")
path = os.path.join(directory, filename)

with open(path, 'r') as file:
    print(file.read())

W tym skrypcie prosimy użytkownika o wprowadzenie katalogu i nazwy pliku. Następnie używamy os.path.join() do utworzenia pełnej ścieżki do pliku. Następnie otwieramy ten plik w trybie odczytu i drukujemy jego zawartość.

Os.Path.Join w Pythonie: praktyczny przewodnik z przykładami

2. Tworzenie nowych katalogów

Kiedy tworzysz nowe katalogi za pomocą os.makedirs() , możesz użyć os.path.join() do utworzenia ścieżki do nowego katalogu.

Poniżej znajduje się przykład tworzenia nowych katalogów za pomocą os.path.join() :

base_directory = "/tmp"
new_directory = "my_new_directory"
path = os.path.join(base_directory, new_directory)
os.makedirs(path, exist_ok=True)

W tym skrypcie tworzymy ścieżkę do nowego katalogu o nazwie my_new_directory w katalogu /tmp. Następnie używamy os.makedirs() do utworzenia tego nowego katalogu w naszym systemie, jeśli jeszcze nie istnieje.

Os.Path.Join w Pythonie: praktyczny przewodnik z przykładami

3. Wyświetlanie plików w katalogu

Jeśli chcesz wyświetlić listę wszystkich plików określonego typu w katalogu, możesz użyć metody os.path.join() w celu utworzenia ścieżek do każdego pliku.

Poniższy przykład demonstruje tworzenie ścieżek do wszystkich plików za pomocą os.path.join() :

directory = "E:ospathjoin"
for filename in os.listdir(directory):
    if filename.endswith(".txt"):
        path = os.path.join(directory, filename)
        print(path)

W tym skrypcie przeglądamy wszystkie pliki w określonym katalogu, E:ospathjoin , używając pętli for .

Dla każdego pliku, który kończy się na „.txt”, łączymy katalog i nazwę pliku, aby utworzyć pełną ścieżkę, którą następnie drukujemy.

Os.Path.Join w Pythonie: praktyczny przewodnik z przykładami

4. Iteracja po ścieżkach za pomocą pętli For

Możesz także użyć pętli for do iteracji po dwóch lub więcej komponentach ścieżek i łączenia ich za pomocą os.path.join . Może to być szczególnie przydatne podczas pracy z długimi listami lub wieloma zagnieżdżonymi katalogami. Na przykład:

import os

paths = ["folder1", "folder2", "folder3", "file.txt"]
combined_path = ""

for p in paths:
    combined_path = os.path.join(combined_path, p)

print(combined_path)

W tym skrypcie tworzymy ścieżkę do pliku o nazwie file.txt znajdującego się w szeregu zagnieżdżonych katalogów ( folder1, folder2, folder3 ). Robimy to poprzez sekwencyjne łączenie każdej części ścieżki za pomocą os.path.join() , a metoda zwraca ścieżkę, która jest drukowana.

Os.Path.Join w Pythonie: praktyczny przewodnik z przykładami

Końcowe przemyślenia

os.path.join() jest istotną częścią języka programowania Python w przypadku ścieżek do plików i katalogów. Umiejętność manipulowania ścieżkami w sposób zgodny ze wszystkimi systemami operacyjnymi to ważna umiejętność. Zapewnia, że ​​Twój kod pozostaje mniej podatny na błędy.

Co więcej, zrozumienie i używanie os.path.join() pomoże Ci wchodzić w interakcję z systemem plików — odczytywanie plików, zapisywanie do plików, tworzenie katalogów i nie tylko.

Kontynuując swoją przygodę z programowaniem w języku Python, przekonasz się, że funkcja os.path.join() jest przydatna podczas pracy z katalogami. Im częściej go używasz, tym bardziej docenisz jego wartość. Ucząc się i opanowując tę ​​funkcję, robisz znaczący krok naprzód, stając się bardziej biegłym programistą Pythona!


Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.

Pomysły na materializację pamięci podręcznych danych w DAX Studio

Pomysły na materializację pamięci podręcznych danych w DAX Studio

W tym samouczku omówiono idee materializacji pamięci podręcznych danych oraz ich wpływ na wydajność języka DAX w dostarczaniu wyników.

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Jeśli do tej pory nadal korzystasz z programu Excel, jest to najlepszy moment, aby zacząć korzystać z usługi LuckyTemplates na potrzeby raportowania biznesowego.

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć