logo

Python | os.path.join() metod

Os Path Module är en undermodul till OS-modulen i Python som används för vanlig sökvägsmanipulation. I den här artikeln kommer vi att lära oss om os.path.join() och hantera filsökvägar säkert i Python OS .

Python os.path.join() Metodsyntax

Syntax: os.path.join(sökväg, *sökvägar)



Parameter:

  • väg : Ett sökvägsliknande objekt som representerar en filsystemsökväg.
  • *väg : Ett sökvägsliknande objekt som representerar en filsystemsökväg. Det representerar bankomponenterna som ska sammanfogas. Ett banliknande objekt är antingen ett sträng- eller bytesobjekt som representerar en bana.
  • Notera: Den speciella syntaxen *args (här *sökvägar) i funktionsdefinitioner i python används för att skicka ett variabelt antal argument till en funktion.

Returtyp: Denna metod returnerar en sträng som representerar de sammanlänkade vägkomponenterna.

os.path.join() -metoden i Python

De os.path.join() Metod i Python sammanfogar en eller flera sökvägskomponenter intelligent. Denna metod sammanfogar olika sökvägskomponenter med exakt en katalogavgränsare ('/') efter varje icke-tom del utom den sista sökvägskomponenten. Om den sista sökvägskomponenten som ska sammanfogas är tom läggs en katalogavgränsare ('/') i slutet.



Om en vägkomponent representerar en absolut väg, så kasseras alla tidigare sammanfogade komponenter och sammanfogningen fortsätter från den absoluta vägkomponenten.

os.path.join() Funktionsexempel och användningsfall

Nedan finns några exempel och användningsfall där vi kan ansluta filsökvägar och hantera filsökvägar på ett säkert sätt Pytonorm DU.

Sammanfoga vägkomponenter

I det här exemplet används metoden `os.path.join()` för att sammanfoga sökvägskomponenter, vilket effektivt konstruerar giltiga sökvägar. Det säkerställer plattformsoberoende kompatibilitet genom att korrekt sammanfoga komponenterna.



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'>))>

>

Algoritm för rsa

>

Produktion

/home/User/Desktop/file.txt /home/file.txt /home>

Läsa och skriva filer

I det här exemplet äros.path.join()>Metoden används för att bilda en komplett filsökväg genom att sammanfoga baskatalogen och filnamnet. Den konstruerade sökvägen används sedan för att läsa innehållet i den namngivna filenexample.txt>.

exempel.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>

Lista filer i en katalog

I det här exemplet används metoden `os.path.join()` för att generera den fullständiga sökvägen för varje fil i den aktuella arbetskatalogen. De fullständiga sökvägarna skrivs sedan ut, vilket möjliggör en omfattande lista över alla filer 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)>

>

>

Produktion

/home/guest/sandbox/1e914974-f313-477e-a710-2057a0037607.in /home/guest/sandbox/driver /home/guest/sandbox/Solution.py>

Itererar över banor med en For-loop

I det här exemplet används metoden `os.path.join()` i en loop för att dynamiskt skapa den fullständiga sökvägen för varje listat filnamn. De konstruerade vägarna skrivs sedan ut för att indikera bearbetningen av varje 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}'>)>

java cast int till sträng
>

>

Produktion

Processing file: /home/user/file1.txt Processing file: /home/user/file2.txt Processing file: /home/user/file3.txt>