Я немного смущен с моим импортом, и я хотел бы посмотреть, какую версию функции я использую. Есть ли способ получить имя файла, где выполняется реализация или класс?Python: найдите, какую версию функции я использую
3
A
ответ
2
Вы можете использовать inspect
модуль из стандартной библиотеки Python
import inspect
inspect.getfile(some_func)
2
Это должно работать для большинства функций. Он не будет работать для встроенных модулей, но вы не импортируете их в любом случае.
import sys
sys.modules[somefunc.__module__].__file__
+0
Не уверен, если это работает с функциями-членами, например, ' '' .strip .__ module__' является' None'. – NPE
+0
@aix: Это потому, что это встроенный. –
Смежные вопросы
- 1. Какую версию модуля времени python я использую
- 2. Какую версию hbase я использую?
- 3. Какую версию Chrome я использую?
- 4. Какую версию sharepoint я использую?
- 5. Какую версию Silverlight я использую?
- 6. Какую версию C# я использую?
- 7. Какую версию SSL я использую?
- 8. Какую версию Kohana я использую?
- 9. Какую версию C++ использую?
- 10. Найдите, какую версию Android используете?
- 11. Какую версию CodeIgniter я использую сейчас?
- 12. Какую версию Ebean я использую? (Play Framework)
- 13. Как узнать, какую версию мавенна Я использую
- 14. Как узнать, какую версию jhipster я использую?
- 15. Как узнать, какую версию Javascript я использую?
- 16. Как узнать, какую версию игры я использую?
- 17. Какую версию Foundation я использую? (NodeJS/Grunt)
- 18. Как узнать, какую версию Log4J я использую?
- 19. Как узнать, какую версию jqgrid я использую
- 20. Какую версию графика facebook я использую?
- 21. Какую версию Python я установил?
- 22. Как я могу определить, какую версию JavaDB/Derby я использую?
- 23. Какую версию Symfony2 я использую? 2,2 или 2,3?
- 24. Как узнать, какую реализацию Python я использую?
- 25. Как мне определить, какую версию API-интерфейса Restlet я использую?
- 26. Как узнать, какую версию биллинга в приложении я использую
- 27. Как узнать, какую версию Java я использую Perl?
- 28. Неважно, какую версию JDK я использую в Android Studio?
- 29. Какую версию Rebol 2 я использую в CentOS?
- 30. Как мне определить, какую версию JQuery UI я использую?
Очень приятно! Не знал об этом. Кажется, что он перестает работать с большим количеством функций (например, 'struct.pack'), чем просто консультироваться с' sys.modules'. –
@MattiVirkkunen, 'sys.modules [struct.pack .__ module __] .__ file__' raise' Объект AttributeError: 'module' не имеет атрибута '__file __' 'для меня. Похоже, что нет способа обработать встроенные функции 'sys.modules [struct.pack .__ module __]' -> '' –
reclosedev
Я предполагаю, что это должно быть разница версии или платформы. К счастью, вам не нужно действительно знать, какой файл имеет встроенный. –