朋友们,如需转载请标明出处:blog.csdn.net/jiangjunsho…
声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写(有时候有空也会参与编写),所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!想要学习AI技术的同学可以点击跳转到我的教学网站。PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!
大部分同学可能都知道,Python模块的搜索路径是一个目录列表,可以通过操作系统的环境变量PYTHONPATH以及.pth路径文件进行定制。其实我们还可以在代码中动态地修改搜索路径。这一招本质上是通过修改名为sys.path的内置列表,也就是内置模块sys的path属性。sys.path在程序启动时就会被初始化,但在那之后,我们可以随意对其元素进行删除、附加和重设。
>>>import sys
>>>sys.path
['','C:\\users','C:\\Windows\\system32\\python30.zip',...more deleted...]
>>>sys.path.append('C:\\sourcedir') # Extend module search path
>>>import string # All imports search the new dir last
这个列表是可以任意修改的,你甚至可以完全给它重新赋值。
>>>sys.path = [r'd:\temp'] # Change module search path
>>>sys.path.append('c:\\lp4e\\examples') # For this process only
>>>sys.path
['d:\\temp','c:\\lp4e\\examples']
>>>import string
Traceback (most recent call last):
File "<stdin>",line 1,in <module>
ImportError: No module named string
注意,如果从路径中删除重要目录,就无法获取一些关键的工具库了。例如,上一个例子中,我们从路径中删除了Python的源代码库目录的话,我们就再也无法使用string模块了。
此外,记住sys.path的设置方法只在修改的Python会话或进程中才会存续。在程序退出后,不会保留下来。而PYTHONPATH和.pth文件路径配置是保存在操作系统中,不是执行中的Python程序,因此这两种配置方法更全局一些:机器上的每个程序都会去查找PATHONPATH和.pth,而且在程序结束后,它们还存在着。