【发布时间】:2017-06-01 22:47:34
【问题描述】:
我知道我可以通过使用它们的文件路径来导入 python 模块,但是有没有办法导入相对于当前文件位置的文件?
例如,似乎只有当脚本与我正在使用的脚本位于同一文件夹中时,我才能“导入文件”。如果文件位于我的外部文件夹或层次结构之下的文件夹中,我如何导入文件,而不提供完整的文件路径?我想要它,以便我可以移动项目文件夹并且仍然可以正常工作。
【问题讨论】:
我知道我可以通过使用它们的文件路径来导入 python 模块,但是有没有办法导入相对于当前文件位置的文件?
例如,似乎只有当脚本与我正在使用的脚本位于同一文件夹中时,我才能“导入文件”。如果文件位于我的外部文件夹或层次结构之下的文件夹中,我如何导入文件,而不提供完整的文件路径?我想要它,以便我可以移动项目文件夹并且仍然可以正常工作。
【问题讨论】:
恐怕无法使用它们的路径导入单个 python 文件。 在 python 中,你必须处理模块。最好的解决方案是从您的外部文件夹脚本创建一个模块并放入您的系统模块路径。
【讨论】:
sys.path.append('/home/dir1/dir2/dir3')怎么样
sys.path(它是一个字符串列表)并将文件夹的路径添加到所需的python文件所在的位置。不建议这样做,但仍然是一个有效的技巧。此外,使用名为__init__.py 的空文件也可以解决问题。此外,此问题与此 question 重复。
__init__.py 的空文件?看看另一个问题。你会找到你需要的。