如何从不同的目录中,同一级别,但不同的文件夹
问题描述:
导入Python模块我有一个像如何从不同的目录中,同一级别,但不同的文件夹
Documents/
Project_1/
module_1.py
Project_2/
module_2.py
的目录结构。如果我想导入到module_1.py module_2.py,什么是它的语法?
我曾尝试在
而且
from .Project_1 import module_1
的变化,但我不能让它工作,只在另一个项目中曾经这样做过。
答
这是一个原始的解决方案,但我结束了这样的事情:
#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机器,假设文件夹放在他们的文档中。
但是,有关Environ的代码可以被合理地替换以匹配另一个目录。
答
你有两种选择;
from Documents.project_1 import module1.py
或
import Documents.project_1.module1.py
+0
我得到“ImportError:No module named'Documents'” 文档是一个文件夹,而不是一个模块。 –
'import Documents.module_1' should be working我猜,虽然不确定 – ZdaR
可能重复,但这是第二个问题在一周内谈论几乎相同的事情。 – Chazeon
我做了搜索,其他人也有类似的问题,但不一样。 –