python中一个模块就是一个py文件,我们创建一个py文件后,就可以导入使用这个文件(模块),下面我主要介绍5种情况下的自定义模块是如何导入的,实验环境win7+python3.6+pycharm,这里为了方便演示,我新建了一个Module项目(主要应用于前3中情况,后面2中情况不应用),自定义了一个hello.py模块(文件),里面定义了hello()函数,主要是打印出"Hello,World"这句话,测试(入口)文件是test.py,5种情况如下:

情况1:hello.py模块(文件)和测试(入口)文件test.py在同一个目录下,目录结构如下图所示:

用python如何导入自建的模块

这种情况下,我们可以直接导入这个模块,代码是import hello,如下图所示:

用python如何导入自建的模块

情况2:hello.py模块(文件)在包folder里面,但和测试(入口)文件test.py同在Module目录下面,目录结构如下图所示:

用python如何导入自建的模块

这种情况下,我们可以使用代码"from folder import hello"导入这个模块,如下图所示:

用python如何导入自建的模块

情况3:hello.py模块(文件)在包folder里面,测试(入口)文件test.py在main这个包里面,但这两个包同在Module目录下边,目录结构如图所示:

用python如何导入自建的模块

这种情况和情况2导入模块的代码相同,还是"from folder import hello",不再赘述。

情况4:如果模块test.py经常在项目用到,我们可以把它放在python的安装目录site-packages目录里面,这样在使用的时候,我们直接在test.py文件中"import hello"导入模块就行。

情况5:可以在site-packages目录下边创建一个hellopath.pth文件,面放上模块所在包的绝对路径就行,我的是路径是“E:\tornado\module\folder”,这里根据自己的情况自行设置,在使用的时候和情况4相同,"import hello"导入就行,这里不再赘述。

至此,5中情况下的导入自定义模块方法都已介绍完毕。就整个过程来看,其实都很简单,就是在导入模块的时候注意一下路径