2017-02-20 43 views
0

У меня есть структура каталогов, какКак импортировать модуль питона из другого каталога, то же уровня, но другой папки

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 

Но я не могу заставить его работать, и только сделал это один раз, прежде чем в другом проекте.

+0

'import Documents.module_1' должен работать, я думаю, не уверен, хотя – ZdaR

+0

Возможный дубликат, это второй вопрос, говорящий почти о том же в течение недели. – Chazeon

+0

Я сделал поиск, а другие проблемы схожи, но не то же самое. –

ответ

0

Это является грубым решением, но я в конечном итоге с чем-то вроде этого:

#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 можно было бы разумно заменить, чтобы соответствовать другому каталогу.

1

У вас есть две альтернативы;

from Documents.project_1 import module1.py 

или

import Documents.project_1.module1.py 
+0

Я получаю «ImportError: Нет модуля с именем« Документы »» Документы - это папка, а не модуль. –