- Nazwa pliku z którego kod jest uruchomiony
- Nazwa klasy, z której kod jest uruchomiony
- nazwa metody (atrybut klasy), gdzie kod jest uruchomiony
Odpowiedz
Oto przykład każda:
from inspect import stack
class Foo:
def __init__(self):
print __file__
print self.__class__.__name__
print stack()[0][3]
f = Foo()
self.__class__.__name__ # name of class i'm in
dla reszty sYS i śladowe moduły
http://docs.python.org/library/sys.html http://docs.python.org/library/trace.html
Niektórzy więcej informacji: https://mail.python.org/pipermail/python-list/2001-August/096499.html i http://www.dalkescientific.com/writings/diary/archive/2005/04/20/tracing_python_code.html
chciałeś go do raportowania błędów, ponieważ moduł traceback może obsłużyć że:
import sys
class A:
def __init__(self):
print __file__
print self.__class__.__name__
print sys._getframe().f_code.co_name
a = A()
Bądź ostrożny pod numerem bardzo. Zastanów się:
class A:
pass
B = A
b = B()
Co to jest "nazwa klasy" b
tutaj? Czy to A, czy B? Czemu?
Chodzi o to, że nie powinieneś o tym wiedzieć. Obiekt jest tym, czym jest: jego nazwa jest bardzo rzadko przydatna.
Nazwa klasy to "A", ponieważ 'b' jest ** instancją ** z' B', która z kolei jest ** referencją ** do 'A', która jest ** klasą **. – ted
Z pewnością dla użytkowników końcowych; ale niezwykle przydatne przy debugowaniu - jak w przypadku obsługi wyjątku lub podobnej do zgłaszania, gdzie jest. Możesz napisać miły komunikat o błędzie, aby powiedzieć to samo, ale i tak często zawierałby tę informację, w takim przypadku wydaje się, że za każdym razem wpisywanie jest niepotrzebne. Ponadto, aby zbudować (na przykład) ogólny pakiet rejestracyjny, niezwykle przydatna jest możliwość zapewnienia tego automatycznie. Gdyby twoja argumentacja się utrzymywała, czy nie odnosiłaby się równie dobrze do isinstance(), która z pewnością jest ważna i przydatna? – TextGeek
- 1. uzyskać aktualną klasę i metodę?
- 2. Jak uzyskać aktualną datę za pomocą jquery?
- 3. Jak uzyskać aktualną metodę w Rails 3?
- 4. Jak uzyskać łączną i bieżącą liczbę slajdów karuzeli
- 5. Jak zawinąć klasę C++ za pomocą Cythona?
- 6. Jak uzyskać aktualny katalog?
- 7. Jak uzyskać aktualny adres URL za pomocą smarty?
- 8. Jak mogę uzyskać aktualną klasę div z jQuery?
- 9. Jak uzyskać wartości zmiennych żądań za pomocą Pythona i kolby
- 10. Odczytaj plik z serwera za pomocą ssh za pomocą pythona
- 11. Jak uzyskać plik skryptu za pomocą $ .getScript()
- 12. Jak uzyskać aktualną datę?
- 13. Jak uzyskać aktualną aktywność na ekranie?
- 14. Neo4j - Jak uzyskać aktualną wersję poprzez REST
- 15. Moment uzyskać aktualną datę
- 16. Jak mogę uzyskać aktualny czas w C#?
- 17. Jak uzyskać aktualną szerokość ekranu w CSS?
- 18. Jak wyszukać plik wykonywalny za pomocą Pythona w systemie Linux?
- 19. Jak mogę odczytać plik obrazu za pomocą Pythona?
- 20. Używanie Pythona multiprocessing.Process klasę
- 21. Pobierz bieżącą piosenkę za pomocą Cocoa
- 22. Jak uzyskać aktualną długość i szerokość geograficzną za pomocą CLLocationManager-Swift
- 23. Jak rozpakować plik za pomocą Pythona w wersji 2.4?
- 24. Jak uruchomić zewnętrzny plik wykonywalny za pomocą Pythona?
- 25. woocommerce, jak uzyskać aktualną kategorię
- 26. Pokaż aktualną lokalizację użytkownika za pomocą MKMapView?
- 27. Jak uzyskać numer linii w arkuszu Excela za pomocą pythona?
- 28. Jak uzyskać wartość ukrytego wejścia za pomocą pythona?
- 29. Jak uzyskać aktualną pozycję karetki?
- 30. Jak uzyskać dane z SNMP za pomocą pythona?
Czy próbujesz uruchomić go z wiersza poleceń? To oczywiście nie jest zdefiniowane; spróbuj utworzyć plik z kodem i wykonując nazwę Pythona - będzie działał zgodnie z oczekiwaniami. –
uruchomić go z pliku – mtasic85
Dlaczego nie sprawdzić.currentframe? – tzot