Python调用一个模块

use*_*619 3 python

我试图调用模块,但有些原因它给我错误.data.py包含一个项目列表,在main.py我试图迭代和打印项目.但我得到以下错误.

错误

Import error: No module named Basics
Run Code Online (Sandbox Code Playgroud)

data.py和main.py都位于c:/ python27/basics /

data.py

bob={'name':'bobs mith','age':42,'salary':5000,'job':'software'}
sue={'name':'sue more','age':30,'salary':3000,'job':'hardware'}
people=[bob,sue]
Run Code Online (Sandbox Code Playgroud)

main.py

from Basics import data

if __name__ == '__main__':
    for key in people:
        print(key, '=>\n  ', people[key])
Run Code Online (Sandbox Code Playgroud)

如果我只提供导入数据,那么我得到以下错误

名称错误:未定义名称"人员".

更新:

新代码:

from Basics import data

if __name__ == '__main__':

    for key in data.people:
        print(key, '=>\n  ', data.people[key])
Run Code Online (Sandbox Code Playgroud)

TypeError:list indices必须是整数,而不是dict

Jak*_*yer 5

您将需要__init__.py在您的Basics目录中

您需要在您的PYTHON_PATH或中拥有该目录sys.path

要使用人,您需要执行其中任何一项操作.

from Basics.data import people
Run Code Online (Sandbox Code Playgroud)

要么

from Basics import data
print data.people
Run Code Online (Sandbox Code Playgroud)