„Os Path Module“ yra „Python“ OS modulio antrinis modulis, naudojamas įprastam kelių pavadinimų manipuliavimui. Šiame straipsnyje sužinosime apie os.path.join() ir saugų failų kelių tvarkymą Python OS .
Python os.path.join() metodo sintaksė
Sintaksė: os.path.join(kelias, *keliai)
Parametras:
- kelias : į kelią panašus objektas, nurodantis failų sistemos kelią.
- * kelias : į kelią panašus objektas, nurodantis failų sistemos kelią. Tai žymi kelio komponentus, kuriuos reikia sujungti. Į kelią panašus objektas yra eilutė arba baitų objektas, vaizduojantis kelią.
- Pastaba: Speciali sintaksė *args (čia *paths) funkcijų apibrėžimuose python naudojamas kintamam argumentų skaičiui perduoti funkcijai.
Grąžinimo tipas: Šis metodas grąžina eilutę, vaizduojančią sujungtus kelio komponentus.
os.path.join() metodas Python
The os.path.join() Python metodas protingai sujungia vieną ar daugiau kelio komponentų. Šis metodas sujungia įvairius kelio komponentus su tiksliai vienu katalogų skyrikliu ('/') po kiekvienos netuščios dalies, išskyrus paskutinį kelio komponentą. Jei paskutinis jungiamas kelio komponentas yra tuščias, pabaigoje įdedamas katalogo skyriklis („/“).
Jei kelio komponentas yra absoliutus kelias, tada visi ankstesni sujungti komponentai atmetami, o sujungimas tęsiamas nuo absoliutaus kelio komponento.
os.path.join() Funkcijų pavyzdžiai ir naudojimo atvejai
Žemiau yra keletas pavyzdžių ir naudojimo atvejų, kuriais galime sujungti failų kelius ir saugiai tvarkyti failų kelius Python TU.
Kelio komponentų sujungimas
Šiame pavyzdyje metodas „os.path.join()“ naudojamas kelio komponentams sujungti ir efektyviai sukurti tinkamus kelius. Jis užtikrina kelių platformų suderinamumą, tinkamai sujungdamas komponentus.
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'>))> |
>
aplanko pervadinimas Linux sistemoje
>Išvestis
/home/User/Desktop/file.txt /home/file.txt /home>
Failų skaitymas ir rašymas
Šiame pavyzdyjeos.path.join()>metodas naudojamas norint suformuoti visą failo kelią, sujungiant bazinį katalogą ir failo pavadinimą. Tada sukurtas kelias naudojamas pavadinto failo turiniui nuskaitytiexample.txt>.
pavyzdys.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)> |
>
>
Išvestis:
techcodeview.com>
Failų įtraukimas į katalogą
Šiame pavyzdyje metodas „os.path.join()“ naudojamas norint sugeneruoti visą kelią kiekvienam dabartiniame darbiniame kataloge esančiam failui. Tada išspausdinami visi keliai, leidžiantys pateikti išsamų visų kataloge esančių failų sąrašą.
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)> |
>
>Išvestis
/home/guest/sandbox/1e914974-f313-477e-a710-2057a0037607.in /home/guest/sandbox/driver /home/guest/sandbox/Solution.py>
Kelių kartojimas naudojant For Loop
Šiame pavyzdyje metodas „os.path.join()“ naudojamas cikle, siekiant dinamiškai sukurti visą kiekvieno sąrašo failo pavadinimo kelią. Tada sukonstruoti keliai išspausdinami, kad būtų nurodytas kiekvieno atitinkamo failo apdorojimas.
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}'>)> |
math.pow java
>
>Išvestis
Processing file: /home/user/file1.txt Processing file: /home/user/file2.txt Processing file: /home/user/file3.txt>