Os Path Module er en undermodul av OS-modulen i Python som brukes til vanlig banenavnmanipulasjon. I denne artikkelen vil vi lære om os.path.join() og håndtering av filstier trygt i Python OS .
Python os.path.join() Metodesyntaks
Syntaks: os.path.join(bane, *baner)
Parameter:
- sti : Et banelignende objekt som representerer en filsystembane.
- *sti : Et banelignende objekt som representerer en filsystembane. Den representerer banekomponentene som skal sammenføyes. Et banelignende objekt er enten et streng- eller byteobjekt som representerer en bane.
- Merk: Den spesielle syntaksen *args (her *baner) i funksjonsdefinisjoner i python brukes til å sende et variabelt antall argumenter til en funksjon.
Returtype: Denne metoden returnerer en streng som representerer de sammenkoblede banekomponentene.
os.path.join()-metoden i Python
De os.path.join() Metode i Python kobler en eller flere banekomponenter intelligent. Denne metoden kobler sammen forskjellige banekomponenter med nøyaktig én katalogseparator ('/') etter hver ikke-tom del bortsett fra den siste banekomponenten. Hvis den siste banekomponenten som skal kobles sammen er tom, settes en katalogseparator ('/') på slutten.
Hvis en banekomponent representerer en absolutt bane, forkastes alle tidligere sammenføyde komponenter, og sammenføyningen fortsetter fra den absolutte banekomponenten.
os.path.join() Funksjonseksempler og brukstilfeller
Nedenfor er noen eksempler og brukstilfeller der vi kan slå sammen filstier og håndtere filstier trygt i Python DU.
Sammenknytte banekomponenter
I dette eksemplet brukes `os.path.join()`-metoden til å sette sammen banekomponenter, og effektivt konstruere gyldige stier. Det sikrer kompatibilitet på tvers av plattformer ved å koble sammen komponentene på riktig måte.
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'>))> |
>
java samling rammeverk
>Produksjon
/home/User/Desktop/file.txt /home/file.txt /home>
Lese og skrive filer
I dette eksemplet eros.path.join()>metoden brukes til å danne en komplett filbane ved å koble sammen basiskatalogen og filnavnet. Den konstruerte banen brukes deretter til å lese innholdet i den navngitte filenexample.txt>.
eksempel.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)> |
>
dfs algoritme
>
Produksjon:
techcodeview.com>
Oppføring av filer i en katalog
I dette eksemplet brukes `os.path.join()`-metoden for å generere den fullstendige banen for hver fil i gjeldende arbeidskatalog. De fullstendige banene skrives deretter ut, noe som gir en omfattende liste over alle filene i katalogen.
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)> |
>
>Produksjon
/home/guest/sandbox/1e914974-f313-477e-a710-2057a0037607.in /home/guest/sandbox/driver /home/guest/sandbox/Solution.py>
Iterering over stier med en For-løkke
I dette eksemplet brukes `os.path.join()`-metoden i en løkke for dynamisk å lage hele banen for hvert filnavn som er oppført. De konstruerte banene skrives deretter ut for å indikere behandlingen av hver respektive fil.
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}'>)> |
>
>Produksjon
Processing file: /home/user/file1.txt Processing file: /home/user/file2.txt Processing file: /home/user/file3.txt>