【问题标题】:Importing modules in the same project folder在同一个项目文件夹中导入模块
【发布时间】:2017-06-01 22:47:34
【问题描述】:

我知道我可以通过使用它们的文件路径来导入 python 模块,但是有没有办法导入相对于当前文件位置的文件?

例如,似乎只有当脚本与我正在使用的脚本位于同一文件夹中时,我才能“导入文件”。如果文件位于我的外部文件夹或层次结构之下的文件夹中,我如何导入文件,而不提供完整的文件路径?我想要它,以便我可以移动项目文件夹并且仍然可以正常工作。

【问题讨论】:

标签: python-3.x python-module


【解决方案1】:

恐怕无法使用它们的路径导入单个 python 文件。 在 python 中,你必须处理模块。最好的解决方案是从您的外部文件夹脚本创建一个模块并放入您的系统模块路径。

【讨论】:

  • sys.path.append('/home/dir1/dir2/dir3')怎么样
  • 仅当它是包含模块(而不仅仅是 python 脚本文件)的文件夹的路径时。文档说:变量 sys.path 是一个字符串列表,用于确定解释器对模块的搜索路径
  • 因此,您可以沿着文档修改此sys.path(它是一个字符串列表)并将文件夹的路径添加到所需的python文件所在的位置。不建议这样做,但仍然是一个有效的技巧。此外,使用名为__init__.py 的空文件也可以解决问题。此外,此问题与此 question 重复。
  • 我想知道如果我知道文件的相对位置是否有办法完全避免使用文件路径,所以它与其他问题有点不同。感谢您的帮助!
  • @wrxryuu 一个名为__init__.py 的空文件?看看另一个问题。你会找到你需要的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-20
  • 2021-05-24
  • 2022-12-10
  • 2019-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多