Python ile betiğin dizinini nasıl bulabilirim?

Aşağıdaki Python kodunu düşünün:

import os
print os.getcwd()

Kod dosyasının dizin konumunu almak için os.getcwd() kullanıyorum1. Komut satırından betiği çalıştırdığımda bana doğru yolu verirken, bir Django görünümünde kod tarafından çalıştırılan bir betikten çalıştırdığımda / yazdırıyor.

Bir Django görünümü tarafından çalıştırılan bir betiğin içinden betiğin yolunu nasıl alabilirim?

GÜNCELLEME:
Şimdiye kadarki cevapları özetlersek - os.getcwd() ve os.path.abspath() her ikisi de mevcut çalışma dizinini verir, bu da betiğin bulunduğu dizin olabilir veya olmayabilir. Benim web host kurulumumda __file__ yol olmadan sadece dosya adını veriyor.

Python'da betiğin bulunduğu yolu (her zaman) alabilmenin bir yolu yok mu?

Ben kullanıyorum:

import os
import sys

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

aiham'ın bir yorumda belirttiği gibi, bu işlevi bir modülde tanımlayabilir ve farklı komut dosyalarında kullanabilirsiniz.

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

Use os.path.abspath('')

Yorumlar (3)