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


  • 相关阅读:
    Linux Kernel 'b43'无线驱动本地特权提升漏洞
    Linux Kernel “dispatch_discard_io()”RO Disk Manipulation安全绕过漏洞
    Linux kernel ‘fill_event_metadata’函数资源管理错误漏洞
    Linux kernel ‘b43_request_firmware’函数格式化字符串漏洞
    phpcms 2007 onunload.inc.php update SQL注入漏洞
    出差到天津的计划
    Auguries of Innocence
    做一个东西要多久
    Wise Installation 9 的一个容易忽视的选项
    天津行总结路在嘴底下
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/7238086.html
Copyright © 2011-2022 走看看