импорт файла Python в той же папке - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь импортировать другой файл .py в той же папке, но не удается. Я не могу понять, почему.

папка A содержит папку B, файл c.py и d.py находится в папке B, я пытаюсь import c до d, и в папке есть файл \__init__.py Я также пытался что-то вроде записи \__all__ = ['c'] в файл \__init__.py, потому что import c не работал

Ответы [ 4 ]

0 голосов
/ 15 мая 2018

Я немного не уверен в том, какая у вас структура.Ниже приведен bash-скрипт, который генерирует структуру, которую, я думаю, вы описали, и различные способы импорта и ссылки на вещи в файлах.

#!/bin/bash
rm -fr A
mkdir A
mkdir A/B
echo "cx = 34" > A/B/c.py
echo "dx = 22" > A/B/d.py
touch A/B/__init__.py

cd A
python -c "import B"
python -c "import B.c"
python -c "import B.c; print B.c.cx"
python -c "from B import d; print d.dx"

cd B
python -c "import c; print c.cx"

Ожидаемый вывод будет снова из cx, dx и cx.Итак:

34
22
34
0 голосов
/ 15 мая 2018

Попробуйте что-то вроде;from c import *

0 голосов
/ 15 мая 2018

Попробуйте относительный импорт следующим образом:

from . import c

Или что-то вроде

from .c import XYZ
0 голосов
/ 15 мая 2018

должно работать с импортом и именем файла (без .py)

import c
...