Python | os.path.join() metode
Os Path Module er et undermodul til OS-modulet i Python, der bruges til almindelig stinavnsmanipulation. I denne artikel vil vi lære om os.path.join() og håndtering af filstier sikkert i Python OS .
Python os.path.join() Metodesyntaks
Syntaks: os.path.join(sti, *stier)
Parameter:
- sti : Et stilignende objekt, der repræsenterer en filsystemsti.
- *sti : Et stilignende objekt, der repræsenterer en filsystemsti. Det repræsenterer de stikomponenter, der skal forbindes. Et stilignende objekt er enten et streng- eller bytesobjekt, der repræsenterer en sti.
- Bemærk: Den særlige syntaks *args (her *stier) i funktionsdefinitioner i python bruges til at sende et variabelt antal argumenter til en funktion.
Returtype: Denne metode returnerer en streng, som repræsenterer de sammenkædede stikomponenter.
os.path.join() metode i Python
Det os.path.join() Metode i Python forbinder en eller flere stikomponenter intelligent. Denne metode sammenkæder forskellige stikomponenter med nøjagtig én mappeseparator ('/') efter hver ikke-tom del undtagen den sidste stikomponent. Hvis den sidste stikomponent, der skal forbindes, er tom, sættes en mappeseparator ('/') til sidst.
Hvis en stikomponent repræsenterer en absolut sti, kasseres alle tidligere sammenføjede komponenter, og sammenføjningen fortsætter fra den absolutte stikomponent.
os.path.join() Funktionseksempler og anvendelsestilfælde
Nedenfor er nogle eksempler og anvendelser, hvor vi kan forbinde filstier og håndtere filstier sikkert i Python DU.
Sammenkædning af stikomponenter
I dette eksempel bruges `os.path.join()`-metoden til at sammenkæde stikomponenter, hvilket effektivt konstruerer gyldige stier. Det sikrer kompatibilitet på tværs af platforme ved at forbinde komponenterne korrekt.
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'> ))> |
Produktion
/home/User/Desktop/file.txt /home/file.txt /home
Læsning og skrivning af filer
I dette eksempel er os.path.join()> metoden bruges til at danne en komplet filsti ved at forbinde basismappen og filnavnet. Den konstruerede sti bruges derefter til at læse indholdet af den navngivne fil example.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)> |
Produktion:
techcodeview.com
Liste filer i en mappe
I dette eksempel bruges `os.path.join()`-metoden til at generere den fulde sti for hver fil i den aktuelle arbejdsmappe. De komplette stier udskrives derefter, hvilket giver mulighed for en omfattende liste over alle filer i mappen.
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)> |
Produktion
/home/guest/sandbox/1e914974-f313-477e-a710-2057a0037607.in /home/guest/sandbox/driver /home/guest/sandbox/Solution.py
Iteration over stier med en For-løkke
I dette eksempel bruges `os.path.join()`-metoden i en løkke til dynamisk at skabe den fulde sti for hvert filnavn på listen. De konstruerede stier udskrives derefter for at angive behandlingen af 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}'> )> |
Produktion
Processing file: /home/user/file1.txt Processing file: /home/user/file2.txt Processing file: /home/user/file3.txt