2015-01-06 3 views
0

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

- src\module1\ __init__.py 
- src\module1\foo1.py 
- src\module2\ __init__.py 
- src\module2\foo2.py 

Я хочу импортировать функции из foo1.py в foo2.py. Я попытался импортировать, используя

from module1.foo1 import * 

но это метание ошибки трассировки. пожалуйста, подсказывают, как импортировать foo1.py в foo2.py

Спасибо заранее Ману

+2

'src' должен находиться в' sys.path', чтобы разрешить импорт, который вы желаете. Это? –

+0

Вставьте сообщение об ошибке в свой вопрос (внутри блока кода). –

+0

Предположительно вы видите исключение 'ImportError'? Это помогает, если вы можете хотя бы сообщить об ошибке, если нет всей трассировки. – holdenweb

ответ

0

Попробуйте

from module1.foo1 import ClassName 
+0

Спасибо, что сработал :) – Manu

0

https://docs.python.org/2/tutorial/modules.html От

6.1.2. Путь поиска модуля

Когда импортируется модуль со спамом, интерпретатор сначала ищет для встроенного модуля с этим именем. Если он не найден, он ищет для файла с именем spam.py в списке каталогов, заданных переменной переменной sys.path . sys.path инициализируется из этих мест:

каталог, содержащий входной скрипт (или текущий каталог).

PYTHONPATH (список имен каталогов с тем же синтаксисом, что и переменная оболочки PATH).

зависит от установки по умолчанию.

После инициализации программы Python могут изменять sys.path.

Так давайте изменим sys.path

import sys 
sys.path.append('src\module1\') 
import foo1 

Это стоит печать sys.path, так что вы можете понять, почему он не нашел уже.

+0

Я не хочу менять системный путь – Manu

Смежные вопросы