如何使用python3代码查看包的路径?

美女程序员鼓励师

在保存了文件的很长一点时间里,我们都没有使用文件的需求,偶尔需要用到包的话就要去查一下路径,这类的方法我们也介绍了不少,有的小伙伴会想要追求更快的查找方法。这里小编把查找路径的方法都进行展示,大家可以自由的选择,想要更快的查询路径方法就跟着小编一起往下看。


当你使用 import 导入一个包或模块时,Python 会去一些目录下查找,而这些目录是有优先级顺序的,正常人会使用 sys.path 查看。

>>> import sys

>>> from pprint import pprint   

>>> pprint(sys.path)

['',

 '/usr/local/Python3.7/lib/python37.zip',

 '/usr/local/Python3.7/lib/python3.7',

 '/usr/local/Python3.7/lib/python3.7/lib-dynload',

 '/home/wangbm/.local/lib/python3.7/site-packages',

 '/usr/local/Python3.7/lib/python3.7/site-packages']

>>>


那有没有更快的方式呢?

我这有一种连 console 模式都不用进入的方法呢?

你可能会想到这种,但这本质上与上面并无区别

[wangbm@localhost ~]$ python -c "print('\n'.join(__import__('sys').path))"

 

/usr/lib/python2.7/site-packages/pip-18.1-py2.7.egg

/usr/lib/python2.7/site-packages/redis-3.0.1-py2.7.egg

/usr/lib64/python27.zip

/usr/lib64/python2.7

/usr/lib64/python2.7/plat-linux2

/usr/lib64/python2.7/lib-tk

/usr/lib64/python2.7/lib-old

/usr/lib64/python2.7/lib-dynload

/home/wangbm/.local/lib/python2.7/site-packages

/usr/lib64/python2.7/site-packages

/usr/lib64/python2.7/site-packages/gtk-2.0

/usr/lib/python2.7/site-packages


这里我要介绍的是比上面两种都方便的多的方法,一行命令即可解决

[wangbm@localhost ~]$ python3 -m site

sys.path = [

    '/home/wangbm',

    '/usr/local/Python3.7/lib/python37.zip',

    '/usr/local/Python3.7/lib/python3.7',

    '/usr/local/Python3.7/lib/python3.7/lib-dynload',

    '/home/wangbm/.local/lib/python3.7/site-packages',

    '/usr/local/Python3.7/lib/python3.7/site-packages',

]

USER_BASE: '/home/wangbm/.local' (exists)

USER_SITE: '/home/wangbm/.local/lib/python3.7/site-packages' (exists)

ENABLE_USER_SITE: True


从输出你可以发现,这个列的路径会比sys.path更全,它包含了用户环境的目录。

这里很多小伙伴会惊喜的发现,原来只需一行命令,就可以轻松用代码查看路径,相对于以往的sys.path方法不要好用太多了。聪明的小伙伴们已经把这三种方法,全部都保存下来啦,不同的大家都可以尝试。

以上是 如何使用python3代码查看包的路径? 的全部内容, 来源链接: utcz.com/z/541436.html

回到顶部