Файл импорта Python из другого каталога, который также зависит от других файлов в этом каталоге.Python

Программы на Python
Ответить
Anonymous
 Файл импорта Python из другого каталога, который также зависит от других файлов в этом каталоге.

Сообщение Anonymous »

Вот моя структура файла: < /p>

Код: Выделить всё

a/
- dependencies_v1.py  (imports helloworld from dependencies_2 in a/)
- dependencies_2.py  (implements helloworld function that prints "helloworld from a")
b/
- dependencies_v2.py  (imports helloworld from dependencies_2 in b/)
- dependencies_2.py  (implements helloworld function that prints "helloworld from b")
- main.py
Я хочу, чтобы main.py выводил «helloworld from b», а затем «helloworld from a».
Вот мой файл main. py:

Код: Выделить всё

from dependencies_v1 import helloworld
helloworld()

import sys
import os
sys.path.insert(0, os.path.abspath('../a'))

from dependencies_v2 import helloworld
helloworld()
который, к сожалению, дважды печатает «helloworld from b».
Если я закомментирую первые две строки:
< pre class="lang-py Prettyprint-override">

Код: Выделить всё

# from dependencies import helloworld
# helloworld()

import sys
import os
sys.path.insert(0, os.path.abspath('../a'))

print(sys.path)

from dependenciesv import helloworld
helloworld()
Тогда я получаю импортеррор: не может импортировать имя 'helloworld' из 'depertion2' .
Как мне получить main.py для печати "Helloworld из b", а затем «Helloworld из A"? , Я только хочу вносить изменения в main.py и не хочу вносить какие -либо изменения кода в A /.)

Подробнее здесь: https://stackoverflow.com/questions/793 ... iles-in-th
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»