8 Temmuz 2009, ÇARŞAMBA
__'In modül fonksiyonu Python aramayı__ adı olsun
myapp/foo.py içerdiğini varsayalım:
def info(msg):
caller_name = ????
print '[%s] %s' % (caller_name, msg)
Ve myapp/bar.py içerir:
import foo
foo.info('Hello') # => [myapp.foo] Hello
caller_name arama fonksiyonları __name__ öznitelik kümesi olmak istiyorum' ('uygulamam.modül') bu durumda. foo Bu nasıl yapılabilir?
CEVAP
8 Temmuz 2009, ÇARŞAMBA
Modülünü inceleyin bakın:
inspect.stack() bilgi yığını dönecektir.
İçine fonksiyon inspect.stack()[1] arayan yığın döndürür. Oradan, arayanın adı işlev, modül, vb hakkında daha fazla bilgi alabilirsiniz.
Ayrıntılı bilgi için: doktorlar
http://docs.python.org/library/inspect.html
Ayrıca, Doug Hellmann PyMOTW serisi kontrol modülü güzel bir yazı var:
http://pymotw.com/2/inspect/index.html#module-inspect
EDİT: sen Burada ne istiyor hangi bir şifre, sanırım
def info(msg):
frm = inspect.stack()[1]
mod = inspect.getmodule(frm[0])
print '[%s] %s' % (mod.__name__, msg)
Bunu PaylaÅŸ:

Nasıl Python fonksiyonu dekoratörler z...
Nasıl Python ev dizini olsun?...
Alma python modül yolu...
Dinamik modül Python al...
Devrik dükkanı Açmak Python (zip ters)...