当前位置: 首页 > 面试题库 >

在不导入Python的情况下查找模块的路径

孔阎宝
2023-03-14
问题内容

我已经看到了几种通过首先导入来查找模块路径的方法。有没有一种方法,而无需导入模块?


问题答案:

使用pkgutil模块:

>>> import pkgutil
>>> package = pkgutil.get_loader("pip")
>>> package.filename
'/usr/local/lib/python2.6/dist-packages/pip-0.7.1-py2.6.egg/pip'
>>> package = pkgutil.get_loader("threading")
>>> package.filename
'/usr/lib/python2.6/threading.py'
>>> package = pkgutil.get_loader("sqlalchemy.orm")
>>> package.filename
'/usr/lib/pymodules/python2.6/sqlalchemy/orm'

使用imp模块:

>>> import imp
>>> imp.find_module('sqlalchemy')
(None, '/usr/lib/pymodules/python2.6/sqlalchemy', ('', '', 5))
>>> imp.find_module('pip')
(None, '/usr/local/lib/python2.6/dist-packages/pip-0.7.1-py2.6.egg/pip', ('', '', 5))
>>> imp.find_module('threading')
(<open file '/usr/lib/python2.6/threading.py', mode 'U' at 0x7fb708573db0>, '/usr/lib/python2.6/threading.py', ('.py', 'U', 1))

注意:使用imp模块,您 无法 做类似的事情imp.find_module('sqlalchmy.orm')



 类似资料:
  • 问题内容: 给定完整路径,如何在Python 3.4中加载Python模块? 类似的问题如何在给定完整路径的情况下导入模块?涵盖了3.4之前的Python版本,但是得出的结论是,对于给出的答案,Python 3.4的支持已被弃用,因此赞赏所有针对Python 3.4的解决方案。 请注意,此问题与“导入任意python”源文件不是重复的。(Python 3.3+),因为对此的答案也使用了Python

  • 问题内容: 我在使用Python模块时遇到了一些困难。我了解到,用C编写的内置模块就像Python解释器的一部分,因此它们属于内置命名空间,因此可供程序员轻松使用,因此不需要导入。那是否仅限于那些模块,意味着所有其他非内置的,用Python编写的标准库模块都需要导入才能使用? 谢谢。 问题答案: TLDR:使用前,您必须导入每个模块,除外。 就Python而言,有两种不同的“ builtin”:

  • 问题内容: 我有一个模块foo,包含util.py和bar.py。 我想将其导入IDLE或python会话中。我该怎么办? 我找不到关于如何在当前目录或默认python PATH中导入模块的文档。经过尝试后, 我能得到的最接近的是 这给了我在Windows 7上拒绝的权限。 问题答案: 一种方法是简单地修改路径: 请注意,这要求foo为python包,即包含一个文件。如果您不想修改,也可以修改环境

  • 问题内容: 标准库清楚地说明了如何直接导入源文件(给定源文件的绝对文件路径),但是如果该源文件使用隐式同级导入(如以下示例中所述),则此方法不起作用。 在隐式同级导入的情况下,该示例如何适应工作? 我已经签出这个和这个其他的话题#1的问题,但他们并没有解决隐同级进口 内 用手导入的文件。 设置/示例 这是一个说明性的例子 目录结构: : : : 使用该块运行注释掉了Python 3.6中的收益。

  • 我需要在Python中导入一个名为array_queue的模块。我检查了一下,如果我不使用它,就会出现一个提示:“array_queue imported but unused”。但是,如果我使用它并运行该程序,则会出现以下情况: ModuleNotFounderRror:没有名为“array_queue”的模块

  • 问题内容: 我是Python的新手,正在尝试安装此模块:http : //www.catonmat.net/blog/python-library-for-google- search/ 目录中没有setup.py,但是有以下文件: 有人可以告诉我如何设置或使用此模块吗? 谢谢! 问题答案: 在系统上开始使用该代码的最简单方法是: 将文件放入计算机上的目录中, 将该目录的路径添加到您的PYTHON