Hoe kan ik script's directory vinden met Python?

Beschouw de volgende Python code:

import os
print os.getcwd()

Ik gebruik os.getcwd() om de directory locatie van het scriptbestand te krijgen's. Wanneer ik het script vanaf de opdrachtregel uitvoer, geeft het me het juiste pad, terwijl wanneer ik het script uitvoer vanuit een script dat wordt uitgevoerd door code in een Django-view, het / afdrukt.

Hoe kan ik het pad naar het script krijgen vanuit een script dat wordt uitgevoerd door een Django-view?

UPDATE:
Het samenvatten van de antwoorden tot nu toe - os.getcwd() en os.path.abspath() geven beide de huidige werkdirectory die al dan niet de directory kan zijn waar het script zich bevindt. In mijn web host setup __file__ geeft alleen de bestandsnaam zonder het pad.

Is er geen manier in Python om (altijd) het pad te krijgen waarin het script zich bevindt?

Ik gebruik:

import os
import sys

def get_script_path():
    return os.path.dirname(os.path.realpath(sys.argv[0]))

Zoals aiham in een commentaar opmerkt, kun je deze functie in een module definiëren en in verschillende scripts gebruiken.

Commentaren (8)
import os,sys
# Store current working directory
pwd = os.path.dirname(__file__)
# Append current directory to the python path
sys.path.append(pwd)
Commentaren (2)

Gebruik os.path.abspath('')

Commentaren (3)