zoukankan      html  css  js  c++  java
  • 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:xxxx.py') # 这个样例针对 windows 用户来说的 
    大多数情况。上面的代码工作的非常好。可是假设你没有发现上面代码有什么问题的话,可要注意了,上面的代码有时会找不到模块或者包(ImportError: No module named xxxxxx),这是由于: 
    sys模块是使用c语言编写的。因此字符串支持 ' ', ' ', ' '等来表示特殊字符。所以上面代码最好写成: 
    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 ' '.join(sys.path)"

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

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

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

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


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


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


  • 相关阅读:
    9.10 作业
    Day 03 作业
    Day02作业
    Day09 函数
    day08 简单习题
    Day04 python数据类型和词云的生成
    JAVA: 子类通过static块“覆盖”父类的成员变量风险
    JAVA: 子类“覆盖”父类的成员变量
    Java 访问控制权限
    Java数组类型转为集合类型
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/7238086.html
Copyright © 2011-2022 走看看