Python 什么是;包含输入脚本的目录";什么意思?

Python 什么是;包含输入脚本的目录";什么意思?,python,import,path,python-import,Python,Import,Path,Python Import,我已经用Python写了4年了,但我仍然不完全理解导入系统。我发现,即使你这样做,相对进口也往往会失败。当我在Jupyter实验室/笔记本电脑工作时尤其如此 许多人建议添加到sys.path变量以克服这个问题(尽管我不知道为什么导入不能像广告中那样工作)。所以我决定阅读整个sys.path是如何工作的,并阅读它是这样初始化的: 6.1.2. 模块搜索路径 导入名为spam的模块时,解释器首先搜索具有该名称的内置模块。如果未找到,它将在变量sys.path给定的目录列表中搜索名为spam.py的文

我已经用Python写了4年了,但我仍然不完全理解导入系统。我发现,即使你这样做,相对进口也往往会失败。当我在Jupyter实验室/笔记本电脑工作时尤其如此

许多人建议添加到
sys.path
变量以克服这个问题(尽管我不知道为什么导入不能像广告中那样工作)。所以我决定阅读整个
sys.path
是如何工作的,并阅读它是这样初始化的:

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

  • 包含输入脚本的目录(或未指定文件时的当前目录)
  • PYTHONPATH(目录名列表,语法与shell变量PATH相同)
  • 与安装相关的默认设置
第一颗子弹是什么意思?请注意本节前一段中缺少“输入脚本”。它是指垃圾邮件.py?如果是,为什么要使用“输入”一词。我没有看到任何输入的任何事情发生


有人能澄清这个异常模糊/模棱两可的语言吗?

从我所看到的,第一个项目符号是指包含您试图运行的脚本的目录。更具体地说,它指的是试图导入模块的脚本


Python“代码”只是在解释器上运行的脚本。您可以将脚本“输入”到解释器中。

好的。这就解释了为什么父目录中的模块不能被子目录中的模块轻松导入,除非它们被添加到path变量中。解决方法应该是相对导入,但在Jupyter笔记本电脑中这些都失败了。但这是另一个问题。