【问题标题】:importing xxx as a folder when xxx is package当 xxx 是包时将 xxx 作为文件夹导入
【发布时间】:2018-11-08 22:32:41
【问题描述】:

假设我有一个目录,其中包含一个包含一些 python 脚本的文件夹。

我想导入文件夹以获取那些 python 脚本中的函数。

如果我在同一个目录,我可以import folder_name

但是问题开始了,当folder_name = actual_python_package_name.

例如:

您的文件夹名称是 numpy,import numpy 导入库。

有什么办法让python在导入时选择文件夹而不是包?

【问题讨论】:

    标签: python import package directory equals


    【解决方案1】:

    我认为,如果您从目录中退后一步: 例如从 previous_folder.your_main_folder 导入 your_function 也许应该工作。

    【讨论】:

      【解决方案2】:

      如果您将__init__.py 添加到您的文件夹以将其转换为python 包,则应导入它而不是其他python 库。顺序由sys.path 确定。 但是为什么不简单地避免名称冲突呢?

      【讨论】:

      • 嗯,最简单的选择是避免名称冲突,我在我的代码中也这样做了。但我想知道是否存在不更改文件夹名称
      • 但是如果你的工作目录中有一个包(带有__init__.py),它确实优先于安装在其他地方的包。因此,您可以导入脚本,但不能导入已安装的同名软件包。
      猜你喜欢
      • 2017-11-21
      • 1970-01-01
      • 2015-06-26
      • 2023-03-19
      • 1970-01-01
      • 2020-07-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-01
      相关资源
      最近更新 更多