如何使用 python 3.x 获取绝对 pyc 文件路径?
How to get absolute pyc file path with python 3.x?
如何在当前环境下得到python3.x编译后的pythonpyc文件路径?我知道它在 __pycache__
目录中,但我找不到找到文件路径的方法。因为python 3的pyc文件名会随环境改变。
鉴于您知道源文件(即 .py
)的路径,因此有一个函数 importlib.util.cache_from_source
可以完全满足您的需求。例如,要获取对应于 numpy
包的 .pyc
文件,您可以这样做:
import importlib
import numpy
importlib.util.cache_from_source(numpy.__file__)
对我来说(在 OS X 上),这会打印出如下内容:
/<absolute path to site-packages>/numpy/__pycache__/__init__.cpython-36.pyc
如何在当前环境下得到python3.x编译后的pythonpyc文件路径?我知道它在 __pycache__
目录中,但我找不到找到文件路径的方法。因为python 3的pyc文件名会随环境改变。
鉴于您知道源文件(即 .py
)的路径,因此有一个函数 importlib.util.cache_from_source
可以完全满足您的需求。例如,要获取对应于 numpy
包的 .pyc
文件,您可以这样做:
import importlib
import numpy
importlib.util.cache_from_source(numpy.__file__)
对我来说(在 OS X 上),这会打印出如下内容:
/<absolute path to site-packages>/numpy/__pycache__/__init__.cpython-36.pyc