没法import的缘由(ImportError: No module named *****)

python中,每一个py文件被称之为模块,每一个具备__init__.py文件的目录被称为包。只要模块或者包所在的目录在sys.path中,就可使用import 模块或import 包来使用。
 
若是想使用非当前模块中的代码,须要使用Import,这个你们都知道。
若是你要使用的模块(py文件)和当前模块在同一目录,只要import相应的文件名就好,好比在a.py中使用b.py:html

import b


可是若是要import一个不一样目录的文件(例如b.py)该怎么作呢?
首先须要使用sys.path.append方法将b.py所在目录加入到搜素目录中。而后进行import便可,例如python

import sys
sys.path.append('c:\xxxx\b.py')


大多数状况,上面的代码工做的很好。可是若是你没有发现上面代码有什么问题的话,可要注意了,上面的代码有时会找不到模块或者包(ImportError: No module named xxxxxx),这是由于:
sys模块是使用c语言编写的,所以字符串支持 '\n', '\r', '\t'等来表示特殊字符。因此上面代码最好写成:app

sys.path.append('c:\\xxx\\b.py')

或者spa

sys.path.append('c:/xxxx/b.py')

 
这样能够避免由于错误的组成转义字符,而形成无效的搜索目录(sys.path)设置。htm

相关文章
相关标签/搜索