Как импортировать класс из py-файла в блокнот Jupyter? - PullRequest
0 голосов
/ 10 февраля 2020

В том же каталоге у меня есть файл с именем pyfile.py с этим кодом:

class Data_dict:
    def __init__(self):
        self.dict = {'Mary': 'Silver'}

и блокнот Jupyter с кодом:

import pyfile
d = Data_dict()

Импорт успешно завершен, но Я получаю эту ошибку:

NameError: name 'Data_dict' is not defined

Как я могу импортировать класс Data_dict?

Ответы [ 4 ]

0 голосов
/ 10 февраля 2020

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

0 голосов
/ 10 февраля 2020

Когда вы делаете import pyfile, импортируется только модуль, а не другие имена внутри модуля, если вам нужен класс Data_dict, вам нужно импортировать и его. Также вы можете использовать имена внутри модуля с module_name.anything.

В вашем случае вы можете сделать что-то вроде этого.

Импортировать все изнутри pyfile

from pyfile import *
d = Data_dict()

Импортировать только класс Data_dict

from pyfile import Data_dict
d = Data_dict()

Импортировать модуль, а затем обращаться к нему через члены

import pyfile
d = pyfile.Data_dict()
0 голосов
/ 10 февраля 2020

Как насчет pyfile.Data_dict() или from pyfile import Data_dict?

0 голосов
/ 10 февраля 2020

Вы пытались загрузить файл python в ячейку ноутбука?

%load pyfile.py
...