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'>))> |
>
actualització des de join sql
>Sortida
/home/User/Desktop/file.txt /home/file.txt /home>
Lectura i escriptura d'arxius
En aquest exemple, elos.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 anomenatexample.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
classe de pila
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>