Ik wil het huidige bestand's directory pad krijgen. Ik heb het geprobeerd:
>>> os.path.abspath(__file__)
'C:\\python27\\test.py'
Maar hoe kan ik het pad van de directory's opvragen?
Bijvoorbeeld:
'C:\\python27\\'
Als je de directory bedoelt van het script dat wordt uitgevoerd:
import os
os.path.dirname(os.path.abspath(__file__))
Als je de huidige werkdirectory bedoelt:
import os
os.getcwd()
Merk op dat voor en na file
twee underscores staan, niet slechts één.
Merk ook op dat als je interactief draait of code hebt geladen vanuit iets anders dan een bestand (bijv. een database of online bron), __file__
niet ingesteld kan zijn omdat er geen notie is van "current file". Het bovenstaande antwoord gaat uit van het meest voorkomende scenario van het draaien van een python script dat in een bestand staat.
U kunt os
en os.path
bibliotheek eenvoudig als volgt gebruiken
import os
os.chdir(os.path.dirname(os.getcwd()))
os.path.dirname
geeft de bovenste map van de huidige terug.
Hiermee kunnen we naar een hoger niveau gaan zonder een bestandsargument door te geven en zonder het absolute pad te kennen.