从不同文件夹导入文件

新手上路,请多包涵

我有这个文件夹结构:

 application
├── app
│   └── folder
│       └── file.py
└── app2
    └── some_folder
        └── some_file.py

如何从 file.pysome_file.py 导入函数?我试过了:

 from application.app.folder.file import func_name

但它不起作用。

原文由 Ivan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 498
1 个回答

注意:这个答案是针对一个非常具体的问题。对于大多数从搜索引擎来到这里的程序员来说,这不是您要寻找的答案。通常,您会将文件结构化为包(请参阅其他答案),而不是修改搜索路径。


默认情况下,你不能。导入文件时,Python 仅搜索运行入口点脚本的目录 sys.path 其中包括包安装目录等位置(实际上比这 复杂 一点,但这涵盖了大部分个案)。

但是,您可以在运行时添加到 Python 路径:

     # some_file.py
    import sys
    # caution: path[0] is reserved for script path (or '' in REPL)
    sys.path.insert(1, '/path/to/application/app/folder')

    import file

原文由 Cameron 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题