关于python:ImportError:没有名为’parse’的模块

ImportError: No module named 'parse'

我有一个错误,

1
ImportError: No module named 'parse' .

在《江户记》中,我写道

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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中的user data rate类,所以我写了

1
2
3
4
5
6
7
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'])

我想在main_save.py中使用parse.py&data_rate_save data.py,所以我写道

1
2
3
4
5
6
from app.parse import DataRate

#parse
DataRate()
#save
data_rate_save()

当我运行main_save.py时,我出错了ImportError:

1
2
3
 No module named 'parse',traceback says
File"/Users/app/data_rate_savedata.py", line 1, in <module>
    import parse

是错的。是IDE问题吗?或者我写代码是错的?如何修复此错误?


您需要指定从中导入Parse的路径,

如果与data_rate_savedata.py相同,则写:

1
from . import parse

或者你可以写:

1
from app import parse

这样就可以了。


在python中,使用import语句访问modules。因此,了解文件夹层次结构非常重要。

如果您的文件夹结构如下,则一切工作正常。

1
2
3
4
5
6
-->Users
    -->app
         --> parse.py
         --> data_rate_savedata.py
         --> __init__.py
    -->main_save.py