В отладчике я хотел бы проверить, соответствует ли исходный путь запущенному коду. Один из способов сделать это в Python 3 - это посмотреть на файл с байтовым модулем (.pyc
или .pyo
), который имеет поле для размера источника по модулю 2**32
.Данный кадр или объект кода, как я могу загрузить связанный файл модуля
Итак, теперь задан вопрос о кадре, как найти связанный с ним путь к байтовому модулю. (Снова a .pyc
или .pyo
файл).
print(inspect.getfile(inspect.currentframe()))
получит мне имя исходного файла, который я могу попытаться преобразовать имя модуля байт-кода, но лучше было бы, если бы существовал более надежный способ, так как очевидно, Python должен был прочитать модуль в первую очередь ,
Что является самым надежным способом?
Примечание. похоже, что у основных программ нет '__cached__' в' f_globals'. – rocky
@rocky no, Python никогда не создает кеш-файл байт-кода для запуска скрипта. –