朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow
声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写(有时候有空也会参与编写),所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!想要学习AI技术的同学可以点击跳转到我的教学网站。PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!
到目前为止,我们已导入过模块,加载了文件。这是一般性模块用法,可能也是你早期Python职业生涯中多数导入会使用的技巧。然而,模块导入的故事比目前所提到的还要丰富一点。
除了模块名之外,也可以指定目录路径来进行导入。这个目录就称为包,因此,这类导入就称为包导入。包导入就像把计算机上的目录变成了另一个Python命名空间,而属性就是目录中所包含的子目录和模块文件。这是有点高级的特性,它所提供的层次感对于组织大型系统内的文件会很方便。
那么,包导入是如何运作的呢?其实就是在import语句中列举文件名的地方,改成列出路径的名称,彼此以点号相隔。
import dir1.dir2.mod
from语句也是一样的:
from dir1.dir2.mod import x
这些语句中的“点号”路径是对应于机器上目录层次的路径,通过这个语句可以导入文件mod.py。也就是说,上面的语句是表明了机器上有个目录dir1,而dir1里有子目录dir2,而dir2内包含有一个名为mod.py的模块文件。
此外,这个导入意味着,dir1位在某个容器目录dir0中,这个目录可以在Python模块搜索路径中找到。换句话说,上面的import语句代表了这样的目录结构(以DOS反斜线分隔字符显示)。
dir0\dir1\dir2\mod.py # Or mod.pyc,mod.so,etc.
容器目录dir0需要添加在模块搜索路径中(除非这是顶层文件的主目录,就是放启动文件的那个目录,也就是程序的当前目录)。
要记住,import语句中的目录路径只能以点号间隔。你不能在import语句中使用任何平台特定的路径语法。例如,C:\dir1、My Documents.dir2或…/dir1:
下面就是无效的导入语句。
import C:\mycode\dir1\dir2\mod # Error: illegal syntax