Hvordan får jeg den fulde sti til den aktuelle fil's mappe?

Jeg ønsker at få den aktuelle fil's mappesti. Jeg har prøvet:

>>> os.path.abspath(__file__)
'C:\\python27\\test.py'

Men hvordan kan jeg hente mappen's sti?

For eksempel:

'C:\\python27\\'
Løsning

Hvis du mener mappen for det script, der skal køres:

import os
os.path.dirname(os.path.abspath(__file__))

Hvis du mener den aktuelle arbejdsmappe:

import os
os.getcwd()

Bemærk, at før og efter file er der to understregninger, ikke kun én.

Bemærk også, at hvis du kører interaktivt eller har indlæst kode fra noget andet end en fil (f.eks. en database eller en online ressource), er __file__ måske ikke sat, da der ikke er noget begreb om "aktuel fil". Ovenstående svar forudsætter det mest almindelige scenarie med kørsel af et python-script, der er i en fil.

Kommentarer (17)
import os
print os.path.dirname(__file__)
Kommentarer (3)

Du kan nemt bruge biblioteket os og os.path på følgende måde

import os
os.chdir(os.path.dirname(os.getcwd()))

os.path.dirname returnerer den øverste mappe fra den aktuelle mappe. Det giver os mulighed for at skifte til et højere niveau uden at overgive et filargument og uden at kende den absolutte sti.

Kommentarer (1)