Wie kann ich das Verzeichnis eines Skripts mit Python finden?

Betrachten Sie den folgenden Python-Code:

import os
print os.getcwd()

Ich verwende os.getcwd(), um den Verzeichnispfad der Skriptdatei zu ermitteln. Wenn ich das Skript von der Kommandozeile aus ausführe, gibt es den korrekten Pfad an, während es, wenn ich es von einem Skript ausführe, das durch Code in einer Django-Ansicht ausgeführt wird, / ausgibt.

Wie kann ich den Pfad zum Skript aus einem Skript erhalten, das von einer Django-Ansicht ausgeführt wird?

UPDATE:
Die bisherigen Antworten zusammenfassend - os.getcwd() und os.path.abspath() geben beide das aktuelle Arbeitsverzeichnis an, das das Verzeichnis sein kann oder auch nicht, in dem sich das Skript befindet. In meiner Webhost-Einrichtung gibt __file__ nur den Dateinamen ohne den Pfad an.

Gibt es in Python nicht irgendeine Möglichkeit, (immer) den Pfad zu erhalten, in dem sich das Skript befindet?

Ich benutze:

import os
import sys

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

Wie aiham in einem Kommentar anmerkt, können Sie diese Funktion in einem Modul definieren und in verschiedenen Skripten verwenden.

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

Verwenden Sie os.path.abspath('')

Kommentare (3)