Os Path Module è un sottomodulo del modulo OS in Python utilizzato per la manipolazione comune dei nomi di percorso. In questo articolo impareremo a conoscere os.path.join() e a gestire i percorsi dei file in modo sicuro Sistema operativo Python .
Sintassi del metodo Python os.path.join()
Sintassi: os.path.join(percorso, *percorsi)
Parametro:
- sentiero : un oggetto simile a un percorso che rappresenta un percorso del file system.
- *sentiero : un oggetto simile a un percorso che rappresenta un percorso del file system. Rappresenta i componenti del percorso da unire. Un oggetto simile a un percorso è un oggetto stringa o byte che rappresenta un percorso.
- Nota: La sintassi speciale *arg (qui *percorsi) nelle definizioni di funzioni in Python viene utilizzato per passare un numero variabile di argomenti a una funzione.
Tipo di reso: Questo metodo restituisce una stringa che rappresenta i componenti del percorso concatenato.
metodo os.path.join() in Python
IL os.percorso.join() Il metodo in Python unisce in modo intelligente uno o più componenti del percorso. Questo metodo concatena vari componenti del percorso con esattamente un separatore di directory ('/') dopo ogni parte non vuota tranne l'ultimo componente del percorso. Se l'ultimo componente del percorso da unire è vuoto, alla fine viene inserito un separatore di directory ('/').
Se un componente del percorso rappresenta un percorso assoluto, tutti i componenti precedentemente uniti vengono scartati e l'unione continua dal componente del percorso assoluto.
os.path.join() Esempi di funzioni e casi di utilizzo
Di seguito sono riportati alcuni esempi e casi d'uso in cui possiamo unire i percorsi dei file e gestirli in modo sicuro Pitone VOI.
Concatenazione dei componenti del percorso
In questo esempio, il metodo `os.path.join()` viene utilizzato per concatenare i componenti del percorso, costruendo in modo efficace percorsi validi. Garantisce la compatibilità multipiattaforma unendo correttamente i componenti.
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'>))> |
>
uri rispetto all'URL
>Produzione
/home/User/Desktop/file.txt /home/file.txt /home>
Lettura e scrittura di file
In questo esempio, ilos.path.join()>viene utilizzato per formare un percorso file completo unendo la directory di base e il nome file. Il percorso costruito viene quindi utilizzato per leggere il contenuto del file denominatoexample.txt>.
esempio.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)> |
>
>
Produzione:
techcodeview.com>
Elencare i file in una directory
In questo esempio, il metodo `os.path.join()` viene utilizzato per generare il percorso completo per ciascun file nella directory di lavoro corrente. Vengono quindi stampati i percorsi completi, consentendo un elenco completo di tutti i file nella directory.
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)> |
stringa formattata c
>
>Produzione
/home/guest/sandbox/1e914974-f313-477e-a710-2057a0037607.in /home/guest/sandbox/driver /home/guest/sandbox/Solution.py>
Iterazione sui percorsi con un ciclo For
In questo esempio, il metodo `os.path.join()` viene utilizzato all'interno di un ciclo per creare dinamicamente il percorso completo per ciascun nome di file elencato. I percorsi costruiti vengono quindi stampati per indicare l'elaborazione di ciascun rispettivo file.
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}'>)> |
>
>Produzione
Processing file: /home/user/file1.txt Processing file: /home/user/file2.txt Processing file: /home/user/file3.txt>