Python | metóda os.path.join().

Os Path Module je podmodul OS modulu v Pythone, ktorý sa používa na bežnú manipuláciu s názvom cesty. V tomto článku sa dozvieme o os.path.join() a bezpečnom zaobchádzaní s cestami k súborom OS Python .

Syntax metódy Python os.path.join()

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

Parameter:

  • cesta : Objekt podobný ceste predstavujúci cestu súborového systému.
  • *cesta : Objekt podobný ceste predstavujúci cestu systému súborov. Predstavuje komponenty cesty, ktoré sa majú spojiť. Objekt podobný ceste je buď reťazec alebo objekt typu bytes predstavujúci cestu.
  • Poznámka: Špeciálna syntax *argumenty (tu *cesty) v definíciách funkcií v pythone sa používa na odovzdanie premenného počtu argumentov do funkcie.

Typ návratu: Táto metóda vráti reťazec, ktorý predstavuje komponenty zreťazenej cesty.

metóda os.path.join() v Pythone

The os.path.join() Metóda v Pythone inteligentne spája jeden alebo viac komponentov cesty. Táto metóda spája rôzne komponenty cesty presne s jedným oddeľovačom adresára (‚/‘) za každou neprázdnou časťou okrem posledného komponentu cesty. Ak je posledný komponent cesty, ktorý sa má pripojiť, prázdny, potom sa na koniec umiestni oddeľovač adresára („/“).

Ak komponent cesty predstavuje absolútnu cestu, potom sa všetky predchádzajúce spojené komponenty zahodia a spájanie pokračuje od komponentu absolútnej cesty.

Príklady funkcií os.path.join() a prípady použitia

Nižšie je uvedených niekoľko príkladov a prípadov použitia, v ktorých môžeme bezpečne spojiť cesty k súborom a bezpečne s nimi zaobchádzať Python VY.

Komponenty zreťazenia cesty

V tomto príklade sa metóda `os.path.join()` používa na zreťazenie komponentov cesty, čím sa efektívne vytvárajú platné cesty. Zaisťuje kompatibilitu medzi platformami správnym spojením komponentov.

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ýkon

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

Čítanie a zápis súborov

V tomto príklade os.path.join()> metóda sa používa na vytvorenie kompletnej cesty k súboru spojením základného adresára a názvu súboru. Vytvorená cesta sa potom použije na čítanie obsahu pomenovaného súboru 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ýkon:

techcodeview.com 

Zoznam súborov v adresári

V tomto príklade sa na vygenerovanie úplnej cesty pre každý súbor v aktuálnom pracovnom adresári používa metóda `os.path.join()`. Potom sa vytlačia úplné cesty, čo umožňuje úplný zoznam všetkých súborov v adresári.

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ýkon

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

Iterácia cez cesty pomocou slučky For

V tomto príklade sa metóda `os.path.join()` používa v slučke na dynamické vytvorenie úplnej cesty pre každý uvedený názov súboru. Skonštruované cesty sa potom vytlačia, aby indikovali spracovanie každého príslušného súboru.

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ýkon

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