logo

Python | os.path.join() methode

Os Path Module is een submodule van de OS-module in Python die wordt gebruikt voor algemene manipulatie van padnamen. In dit artikel leren we over os.path.join() en hoe we veilig omgaan met bestandspaden Python-besturingssysteem .

Python os.path.join() Methodesyntaxis

Syntaxis: os.path.join(pad, *paden)



Parameter:

  • pad : Een padachtig object dat een bestandssysteempad vertegenwoordigt.
  • *pad : Een padachtig object dat een bestandssysteempad vertegenwoordigt. Het vertegenwoordigt de padcomponenten die moeten worden samengevoegd. Een padachtig object is een string- of bytesobject dat een pad vertegenwoordigt.
  • Opmerking: De speciale syntaxis *argumenten (hier *paden) in functiedefinities in Python wordt gebruikt om een ​​variabel aantal argumenten aan een functie door te geven.

Retourtype: Deze methode retourneert een tekenreeks die de aaneengeschakelde padcomponenten vertegenwoordigt.

os.path.join() methode in Python

De os.pad.join() Methode in Python voegt op intelligente wijze een of meer padcomponenten samen. Deze methode voegt verschillende padcomponenten samen met precies één mapscheidingsteken (‘/’) na elk niet-lege deel, behalve de laatste padcomponent. Als de laatste padcomponent die moet worden samengevoegd leeg is, wordt aan het einde een mapscheidingsteken (‘/’) geplaatst.



Als een padcomponent een absoluut pad vertegenwoordigt, worden alle eerder samengevoegde componenten verwijderd en wordt de verbinding voortgezet vanaf de absolute padcomponent.

os.path.join() Functievoorbeelden en gebruiksscenario's

Hieronder vindt u enkele voorbeelden en gebruiksscenario's waarmee we bestandspaden kunnen samenvoegen en bestandspaden veilig kunnen afhandelen Python JIJ.

Padcomponenten aaneenschakelen

In dit voorbeeld wordt de methode `os.path.join()` gebruikt om padcomponenten aan elkaar te koppelen, waardoor op effectieve wijze geldige paden worden geconstrueerd. Het zorgt voor platformonafhankelijke compatibiliteit door de componenten op de juiste manier samen te voegen.



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

>

singleton ontwerppatroon java

>

Uitvoer

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

Bestanden lezen en schrijven

In dit voorbeeld is deos.path.join()>De methode wordt gebruikt om een ​​compleet bestandspad te vormen door de basismap en de bestandsnaam samen te voegen. Het geconstrueerde pad wordt vervolgens gebruikt om de inhoud van het genoemde bestand te lezenexample.txt>.

voorbeeld.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)>

>

>

Uitgang:

techcodeview.com>

Bestanden in een map weergeven

In dit voorbeeld wordt de methode `os.path.join()` gebruikt om het volledige pad voor elk bestand in de huidige werkmap te genereren. De volledige paden worden vervolgens afgedrukt, waardoor een uitgebreide lijst van alle bestanden in de map mogelijk is.

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

>

>

tekenreeks naar Java-teken
Uitvoer

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

Itereren over paden met een For-lus

In dit voorbeeld wordt de methode `os.path.join()` binnen een lus gebruikt om dynamisch het volledige pad voor elke vermelde bestandsnaam te creëren. De geconstrueerde paden worden vervolgens afgedrukt om de verwerking van elk respectief bestand aan te geven.

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

>

>

Uitvoer

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