微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python中模块搜索路径顺序输入路径是什么意思?

如何解决python中模块搜索路径顺序输入路径是什么意思?

解释器在执行上述import语句时,会搜索 对于 mod.py 在从以下组装的目录列表中 来源:

运行输入脚本的目录或当前 如果解释器以交互方式运行,则为目录

包含在 PYTHONPATH 环境变量中的目录列表,如果是 放。 (PYTHONPATH 的格式取决于操作系统,但应该模仿 PATH 环境变量。)

依赖于安装的列表 安装 Python 时配置的目录

“运行输入脚本的目录”是什么意思?这是包含调用的python文件的目录还是进行python调用的目录?

解决方法

我觉得描述有误导性。我认为 official documentation 更清楚:

当导入名为 spam 的模块时,解释器首先搜索具有该名称的内置模块。如果未找到,它将在变量 sys.path 给出的目录列表中搜索名为 spam.py 的文件。 sys.path 从以下位置初始化:

  • 包含输入脚本的目录(或未指定文件时的当前目录)。
  • PYTHONPATH(目录名称列表,语法与 shell 变量 PATH 相同)。
  • 依赖于安装的默认值。

您可以通过添加以下脚本轻松测试:

import sys
print(sys.path)

到子目录,然后从父目录调用它。模块搜索路径的第一个条目将是子目录。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?