返回介绍

修改模块搜索路径

发布于 2024-01-29 22:24:15 字数 746 浏览 0 评论 0 收藏 0

在第21章中已经介绍过,模块搜索路径是一个目录列表,可以通过环境变量PYTHONPATH以及可能的.pth路径文件进行定制。还没有介绍的是,实际上Python程序本身是如何修改搜索路径的,也就是修改名为sys.path(内置模块sys的path属性)的内置列表。sys.path在程序启动时就会进行初始化,但在那之后,可以随意对其元素进行删除、附加和重设。

一旦做了这类修改,就会对Python程序中将要导入的地方产生影响,因为所有导入和文件都共享了同一个sys.path列表。事实上,这个列表可以任意修改。

因此,可以使用这个技巧,在Python程序中动态配置搜索路径。不过,要小心:如果从路径中删除重要目录,就无法获取一些关键的工具了。例如,上一个例子中,我们从路径中删除Python的源代码库目录的话,我们就再也无法获取string模块。

此外,记住sys.path的设置方法只在修改的Python会话或程序(即进程)中才会存续。在Python结束后,不会保留下来。PYTHONPATH和.pth文件路径配置是保存在操作系统中,而不是执行中的Python程序。因此使用这种配置方法更全局一些:机器上的每个程序都会去查找PATHONPATH和.pth,而且在程序结束后,它们还存在着。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文