Os Path Module este un sub-modul al modulului OS din Python, folosit pentru manipularea obișnuită a numelor de cale. În acest articol, vom afla despre os.path.join() și despre gestionarea căilor fișierelor în siguranță OS Python .
Sintaxa metodei Python os.path.join().
Sintaxă: os.path.join(cale, *cai)
Parametru:
- cale : Un obiect asemănător unei căi care reprezintă o cale de sistem de fișiere.
- *cale : Un obiect asemănător unei căi care reprezintă o cale de sistem de fișiere. Reprezintă componentele traseului care trebuie îmbinate. Un obiect asemănător căii este fie un șir, fie un obiect de octeți care reprezintă o cale.
- Notă: Sintaxa specială *args (aici *cai) în definițiile funcției în python este folosit pentru a transmite un număr variabil de argumente unei funcții.
Tip returnare: Această metodă returnează un șir care reprezintă componentele căii concatenate.
metoda os.path.join() în Python
The os.path.join() Metoda din Python unește una sau mai multe componente ale căii în mod inteligent. Această metodă concatenează diferite componente de cale cu exact un separator de director (‘/’) după fiecare parte negoală, cu excepția ultimei componente de cale. Dacă ultima componentă a căii care trebuie unită este goală, atunci un separator de director (‘/’) este pus la sfârșit.
Dacă o componentă de cale reprezintă o cale absolută, atunci toate componentele anterioare unite sunt eliminate, iar îmbinarea continuă de la componenta de cale absolută.
os.path.join() Exemple de funcții și cazuri de utilizare
Mai jos sunt câteva exemple și cazuri de utilizare prin care putem uni căile fișierelor și gestionăm căile fișierelor în siguranță Piton TU.
Concatenarea componentelor căii
În acest exemplu, metoda `os.path.join()` este folosită pentru a concatena componentele căii, construind efectiv căi valide. Acesta asigură compatibilitatea între platforme prin îmbinarea corectă a componentelor.
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'>))> |
>
bfs și dfs
>Ieșire
/home/User/Desktop/file.txt /home/file.txt /home>
Citirea și scrierea fișierelor
În acest exemplu,os.path.join()>metoda este utilizată pentru a forma o cale completă a fișierului prin unirea directorului de bază și a numelui fișierului. Calea construită este apoi folosită pentru a citi conținutul fișierului numitexample.txt>.
exemplu.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)> |
>
>
Ieșire:
techcodeview.com>
Listarea fișierelor într-un director
În acest exemplu, metoda `os.path.join()` este folosită pentru a genera calea completă pentru fiecare fișier din directorul de lucru curent. Căile complete sunt apoi tipărite, permițând o listă cuprinzătoare a tuturor fișierelor din director.
Python3
.egal cu java
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)> |
>
>Ieșire
/home/guest/sandbox/1e914974-f313-477e-a710-2057a0037607.in /home/guest/sandbox/driver /home/guest/sandbox/Solution.py>
Iterarea peste căi cu o buclă For
În acest exemplu, metoda `os.path.join()` este utilizată într-o buclă pentru a crea dinamic calea completă pentru fiecare nume de fișier listat. Căile construite sunt apoi tipărite pentru a indica procesarea fiecărui fișier respectiv.
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}'>)> |
>
>Ieșire
Processing file: /home/user/file1.txt Processing file: /home/user/file2.txt Processing file: /home/user/file3.txt>