我收到了错误,
ImportError: No module named 'parse' .
在我写的parse.py
class DataRate():
data_rate ={}
data_rate =defaultdict(dict)
def try_to_int(arg):
try:
return int(arg)
except:
return arg
book4 = xlrd.open_workbook('./data/excel1.xlsx')
sheet4 = book4.sheet_by_index(0)
tag_list = sheet4.row_values(0)
for row_index in range(0, sheet4.nrows):
row = sheet4.row_values(row_index)
row = list(map(try_to_int, row))
value = dict(zip(tag_list, row))
closing_rate_dict[value['ID']].update(value)
user = User.objects.filter(corporation_id=closing_rate_dict[value['ID']]['NAME'])
我想在data_rate_savedata.py中使用DataRate类,所以我写了
import parse
def data_rate_save():
if user2:
if parse.closing_rate_dict[parse.value['ID']]['NAME'] == 'A':
parse.user2.update(data_rate_under_500 = parse.closing_rate_dict[parse.value['ID']]['d500'],
data_rate_under_700 = parse.closing_rate_dict[parse.value['ID']]['d700'],
data_rate_upper_700 = parse.closing_rate_dict[parse.value['ID']]['u700'])
我想使用parse.py& main_save.py中的data_rate_savedata.py,所以我写了
from app.parse import DataRate
#parse
DataRate()
#save
data_rate_save()
当我运行main_save.py时,出现错误 导入错误:
No module named 'parse',traceback says
File "/Users/app/data_rate_savedata.py", line 1, in <module>
import parse
是错误的。是IDE问题吗?或者编写代码我错了?我该如何解决这个错误?
答案 0 :(得分:1)
您需要指定导入解析的路径,
如果它与data_rate_savedata.py
写的级别相同:
from . import parse
或者你可以写:
from app import parse
这样可以正常工作。
答案 1 :(得分:0)
在Python中,使用modules
语句访问import
。
因此,理解文件夹层次结构非常重要。
如果文件夹结构如下,那么一切都按预期工作。
-->Users
-->app
--> parse.py
--> data_rate_savedata.py
--> __init__.py
-->main_save.py