码迷,mamicode.com
首页 > 编程语言 > 详细

Python 之 ImportError: No module named ***

时间:2017-07-26 10:49:45      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:word   最好   名称   永久   china   pos   otto   存在   nbsp   

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


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

import b 


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

然后进行import就可以,比如 
import sys 
sys.path.append(‘c:\xxxx\b.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


Python 之 ImportError: No module named ***

标签:word   最好   名称   永久   china   pos   otto   存在   nbsp   

原文地址:http://www.cnblogs.com/tlnshuju/p/7238086.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!