У меня есть функция с именем learn
в модуле с именем lrn_proto
.
Я использую его в другом скрипте, я могу импортировать его, но я не могу использовать его функцию, она работаетдо.Но сейчас он больше не работает, и я даже не изменил исходный код.
Вот источник lrn_proto
:
import sys
import os
import re
import time
sys.path.append(os.path.abspath('..\\..\\..\\conf'))
sys.path.append(os.path.abspath('..\\..\\writer\\mem_writer_proto'))
from cfg_exe import exe_loc as loc
sys.path.append(os.path.abspath(loc.lib))
sys.path.append(os.path.abspath(loc.mem))
sys.path.append(os.path.abspath(loc.main))
import mem_writer as mw
import prototype_ui as ptui
def learn(src,keywords,type,identifier):
if src == r'\exit':
print('You have choose to exit this program, see you later.')
sys.exit()
elif src == r'\add':
ptui.menu()
temp = src.lower()
for x in keywords:
if x in temp:
temp_k1 = list(temp.partition(x))
try:
temp_k1_t = list(str(temp_k1.index(x)))
except ValueError:
pass
for b in temp_k1_t:
temp_k = list([temp_k1.pop(int(b))])
print('True\n')
continue
elif x not in temp:
temp_k = list('')
pass
for x in type:
if x in temp:
temp_t1 = list(temp.partition(x))
try:
temp_t1_t = list(str(temp_t1.index(x)))
except ValueError:
pass
for b in temp_t1_t:
temp_t = list([temp_t1.pop(int(b))])
print('True\n')
continue
elif x not in temp:
temp_t = list('')
pass
for x in identifier:
if x in temp:
temp_i1 = list(temp.partition(x))
try:
temp_i1_t = list(str(temp_i1.index(x)))
except ValueError:
pass
for b in temp_i1_t:
temp_i = list([temp_i1.pop(int(b))])
print('True\n')
continue
elif x not in temp:
temp_i = list('')
pass
temp_kti = list(temp_k+temp_t+temp_i)
act_patt = '|'.join(temp_kti)
act = (''.join((re.split(act_patt,temp))).strip(' .'))
print('Output:')
print('Keywords: ',temp_k,'\nType: ',temp_t,'\nIdentifier: ',temp_i,'\nContent: ',act)
mw.dict(title,type,keywords,identifier,actions)
Я пытался: from lrn_proto import learn
Производит: ImportError: cannot import name 'learn' from 'lrn_proto'
Затем с import lrn_proto
,
Производит это при вызове функции:
AttributeError: module 'lrn_proto' has no attribute 'learn'
Странные вещи: те, которые произвели ошибка, не говорят мне, что не так с моим кодом.
Я уже добавил каталог всех модулей в sys.path
Кто-нибудь может мне сообщитьчто не так в моем коде?Я понятия не имел, что не так с моим кодом.
Я использую Python3 в Windows.
Пожалуйста, спросите меня, если вам нужна дополнительная информация по этому вопросу.