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>