当前位置:首页 > Python教程 > python技巧

Python 之 ImportError: No module named ***

假设想使用非当前模块中的代码,须要使用Import。这个大家都知道。  


假设你要使用的模块(py文件)和当前模块在同一文件夹。仅仅要import对应的文件名称就好,比方在a.py中使用b.py:  

import b  


可是假设要import一个不同文件夹的文件(比如b.py)该怎么做呢?  
首先须要使用sys.path.append方法将b.py所在文件夹增加到搜素文件夹中。

然后进行import就可以,比如

 
import sys  
sys.path.append(‘c:xxxxb.py‘) # 这个样例针对 windows 用户来说的  
大多数情况。上面的代码工作的非常好。可是假设你没有发现上面代码有什么问题的话,可要注意了,上面的代码有时会找不到模块或者包(ImportError: No module named xxxxxx),这是由于:  
sys模块是使用c语言编写的。因此字符串支持 ‘n‘, ‘r‘, ‘t‘等来表示特殊字符。所以上面代码最好写成:  
sys.path.append(‘c:\xxx\b.py‘)  
或者sys.path.append(‘c:/xxxx/b.py‘)  

这样能够避免由于错误的组成转义字符,而造成无效的搜索文件夹(sys.path)设置。  


怎样将路径加入到sys.path?

sys.path是python的搜索模块的路径集,是一个list

能够在python 环境下使用sys.path.append(path)加入相关的路径,但在退出python环境后自己加入的路径就会自己主动消失了!

能够使用下面命令输入当前python 的搜索路径:

python -c"import sys;print ‘当前的python是:‘+sys.prefix;print ‘n‘.join(sys.path)"

练习使用sys.path.append方法加入路径,显示退出python会消失!

python -c"import sys;print ‘当前的python是:‘+sys.prefix;sys.path.append(r‘E:DjangoWord‘);print ‘n‘.join(sys.path)"

再次执行,会发现 自己加入路径E:DjangoWord()不存在了!

python -c"import sys;print ‘当前的python是:‘+sys.prefix;print ‘n‘.join(sys.path)"


怎样将路径永久加入到sys.path?


详址:http://my.oschina.net/leejun2005/blog/109679



【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐