Python | mètode os.path.join().

El mòdul Os Path és un submòdul del mòdul del sistema operatiu a Python utilitzat per a la manipulació comú de noms de ruta. En aquest article, aprendrem sobre os.path.join() i el maneig de camins de fitxers amb seguretat Python OS .

Sintaxi del mètode Python os.path.join().

Sintaxi: os.path.join(camí, *camins)

Paràmetre:

  • Camí : Un objecte semblant a un camí que representa una ruta del sistema de fitxers.
  • *Camí : Un objecte semblant a un camí que representa una ruta del sistema de fitxers. Representa els components del camí a unir. Un objecte semblant a un camí és un objecte de cadena o bytes que representa un camí.
  • Nota: La sintaxi especial *args (aquí *camins) a les definicions de funcions a Python s'utilitza per passar un nombre variable d'arguments a una funció.

Tipus de retorn: Aquest mètode retorna una cadena que representa els components del camí concatenats.

mètode os.path.join() a Python

El os.path.join() El mètode en Python uneix un o més components del camí de manera intel·ligent. Aquest mètode concatena diversos components del camí amb exactament un separador de directoris (‘/’) després de cada part no buida excepte l'últim component del camí. Si l'últim component del camí a unir està buit, al final es posa un separador de directoris (‘/’).

Si un component del camí representa un camí absolut, es descarten tots els components anteriors units i la unió continua des del component del camí absolut.

os.path.join() Exemples de funcions i casos d'ús

A continuació es mostren alguns exemples i casos d'ús en els quals podem unir camins de fitxers i manipular camins de fitxers amb seguretat Python VOSTÈ.

Concatenació de components del camí

En aquest exemple, el mètode `os.path.join()` s'utilitza per concatenar components de camí, construint eficaçment camins vàlids. Assegura la compatibilitat entre plataformes unint correctament els components.

Python 3




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'> ))>

Sortida

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

Lectura i escriptura d'arxius

En aquest exemple, el os.path.join()> s'utilitza per formar una ruta de fitxer completa unint el directori base i el nom del fitxer. El camí construït s'utilitza llavors per llegir el contingut del fitxer anomenat example.txt> .

exemple.txt

techcodeview.com 

Python 3




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)>

Sortida:

techcodeview.com 

Llistar fitxers en un directori

En aquest exemple, s'utilitza el mètode `os.path.join()` per generar el camí complet per a cada fitxer del directori de treball actual. A continuació, s'imprimeixen els camins complets, permetent una llista completa de tots els fitxers del directori.

Python 3




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)>

Sortida

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

Iteració sobre camins amb un bucle For

En aquest exemple, el mètode `os.path.join()` s'utilitza dins d'un bucle per crear dinàmicament el camí complet per a cada nom de fitxer llistat. A continuació, s'imprimeixen els camins construïts per indicar el processament de cada fitxer respectiu.

Python 3




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}'> )>

Sortida

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