【问题标题】:How to import python module from different directory, same level, but different folder如何从不同的目录,相同的级别,但不同的文件夹导入python模块
【发布时间】:2017-02-20 17:58:33
【问题描述】:

我有一个类似的目录结构

Documents/
    Project_1/
        module_1.py
    Project_2/
        module_2.py

如果我想将module_1.py导入module_2.py,它的语法是什么?

我已经尝试过

import ../Project_1/module_1

from .Project_1 import module_1

但我无法让它工作,并且之前只在另一个项目中做过一次。

【问题讨论】:

  • import Documents.module_1 我猜应该可以工作,但不确定
  • 可能重复,这是第二个问题在一周内谈论几乎相同的事情。
  • 我搜了一下,其他人也有类似的问题,但不一样。
  • 需要将Documents、Project_1、Project_2打包成包。还有很多其他问题。

标签: python import python-import


【解决方案1】:

你有两种选择;

from Documents.project_1 import module1.py

import Documents.project_1.module1.py

【讨论】:

  • 我得到“ImportError: No module named 'Documents'” Documents is a folder, not a module.
【解决方案2】:

这是一个粗略的解决方案,但我最终得到了这样的结果:

#This thing modifies the path
from sys import path

#This gets our user directory
from os import environ

#add module_1's location to path
path.append(environ['USERPROFILE'] + "\\Documents\\Project_1")

#import it now
import module_1

这不是最优雅的解决方案,但它几乎可以在任何 Windows 机器上运行,前提是文件夹放在它们的 Documents 中。

不过,可以合理地替换有关 Environ 的代码以匹配另一个目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-19
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多