Python | metoda os.path.join().

Os Path Module je dílčí modul modulu OS v Pythonu používaný pro běžnou manipulaci s názvy cest. V tomto článku se dozvíme o os.path.join() a bezpečném zacházení s cestami k souborům OS Python .

Syntaxe metody Python os.path.join()

Syntax: os.path.join(cesta, *cesty)

Parametr:

  • cesta : Objekt podobný cestě představující cestu systému souborů.
  • *cesta : Objekt podobný cestě představující cestu systému souborů. Představuje součásti cesty, které mají být spojeny. Objekt podobný cestě je buď řetězec nebo objekt typu bytes představující cestu.
  • Poznámka: Speciální syntaxe *argumenty (zde *cesty) v definicích funkcí v pythonu se používá k předání proměnného počtu argumentů do funkce.

Typ vrácení: Tato metoda vrací řetězec, který představuje zřetězené komponenty cesty.

metoda os.path.join() v Pythonu

The os.path.join() Metoda v Pythonu inteligentně spojuje jednu nebo více komponent cesty. Tato metoda zřetězí různé komponenty cesty s přesně jedním oddělovačem adresáře (‘/‘) za každou neprázdnou částí kromě poslední komponenty cesty. Pokud je poslední komponenta cesty, která má být připojena, prázdná, pak se na konec vloží oddělovač adresáře („/“).

Pokud komponenta cesty představuje absolutní cestu, pak jsou všechny předchozí spojené komponenty vyřazeny a spojování pokračuje od komponenty absolutní cesty.

Příklady funkcí os.path.join() a případy použití

Níže je uvedeno několik příkladů a případů použití, pomocí kterých můžeme bezpečně spojit cesty k souborům a manipulovat s nimi Krajta VY.

Zřetězení komponent cesty

V tomto příkladu je metoda `os.path.join()` použita ke zřetězení komponent cesty, čímž se efektivně vytvářejí platné cesty. Správným spojením komponent zajišťuje kompatibilitu napříč platformami.

Python3




import> os> # Path> path> => '/home'> # Join various path components> print> (os.path.join(path,> 'User/Desktop'> ,> 'file.txt'> ))> # Path> path> => 'User/Documents'> # Join various path components> print> (os.path.join(path,> '/home'> ,> 'file.txt'> ))> # Path> path> => '/User'> # Join various path components> print> (os.path.join(path,> 'Downloads'> ,> 'file.txt'> ,> '/home'> ))>

Výstup

/home/User/Desktop/file.txt /home/file.txt /home 

Čtení a zápis souborů

V tomto příkladu je os.path.join()> metoda se používá k vytvoření úplné cesty k souboru spojením základního adresáře a názvu souboru. Vytvořená cesta se pak použije ke čtení obsahu pojmenovaného souboru example.txt> .

example.txt

techcodeview.com 

Python3




import> os> # Base directory and filename> base_dir> => '/home/user'> filename> => 'example.txt'> # Construct the full path> full_path> => os.path.join(base_dir, filename)> # Reading and writing files using the full path> with> open> (full_path,> 'r'> ) as> file> :> > content> => file> .read()> > print> (content)>

Výstup:

techcodeview.com 

Výpis souborů do adresáře

V tomto příkladu je k vygenerování úplné cesty pro každý soubor v aktuálním pracovním adresáři použita metoda `os.path.join()`. Poté se vytisknou úplné cesty, což umožňuje úplný seznam všech souborů v adresáři.

Python3




import> os> # Current working directory> current_dir> => os.getcwd()> # List files in the current directory> files_in_dir> => os.listdir(current_dir)> # Iterate over files and print their full paths> for> file_name> in> files_in_dir:> > file_path> => os.path.join(current_dir, file_name)> > print> (file_path)>

Výstup

/home/guest/sandbox/1e914974-f313-477e-a710-2057a0037607.in /home/guest/sandbox/driver /home/guest/sandbox/Solution.py 

Iterace přes cesty pomocí smyčky For

V tomto příkladu je metoda `os.path.join()` použita v rámci smyčky k dynamickému vytvoření úplné cesty pro každý uvedený název souboru. Vytvořené cesty jsou pak vytištěny, aby indikovaly zpracování každého příslušného souboru.

Python3




import> os> # List of file names> names> => [> 'file1.txt'> ,> 'file2.txt'> ,> 'file3.txt'> ]> # Iterate over file names and process each file> for> file_name> in> names:> > file_path> => os.path.join(> '/home/user'> , file_name)> > print> (f> 'Processing file: {file_path}'> )>

Výstup

Processing file: /home/user/file1.txt Processing file: /home/user/file2.txt Processing file: /home/user/file3.txt