从多个子文件夹导入文件 python

Import file python from multiple subfolders

如何从文件 file1.py 导入文件 file2.py?有没有不用像sys之类的库的标准方法?

project\
  folder1\
    folder2\
      file1.py
  folder3\
    folder4\
      file2.py

你最好使用绝对导入,这样你就可以确保你的 project 在你的 sys.path 中,然后你可以直接导入 project.folder1.folder2.file1 而不必相对导入到 file2,

如果你正在处理一个不在你的 python 路径中的包,那么我建议你创建一个虚拟环境和一个 setup.py 文件(查看 setuptools 以获取更多信息)并且如果你已经激活了你的虚拟环境,然后 运行 python setup.py install(或者 python setup.py develop 从源目录使用它,如果你还在使用它的话)然后它 在您的 sys.path 中 - 请注意,如果您喜欢

,则有与 pip install . 等效的命令

否则,如果您不想以“正确”的方式进行操作,则只需手动 fiddle 和 sys.path,是的,您将不得不 import sys 在你可以这样做之前,或者在你开始之前设置 PYTHONPATH 环境变量 python (冒号分隔的目录列表,你会想要包括 project 的父目录)