zoukankan      html  css  js  c++  java
  • pytho模块的加载顺序

            当前目录如果有同名的系统模块,那么当前目录的模块会被import,系统模块会被忽略,如:

    1 ghostwu@ghostwu:~/python/module$ ls
     2 import_test.py  string.py
     3 ghostwu@ghostwu:~/python/module$ cat string.py 
     4 #!/usr/bin/python
     5 #coding:utf-8
     6 
     7 def add( a, b ):
     8     return a + b
     9 ghostwu@ghostwu:~/python/module$ cat import_test.py 
    10 #!/usr/bin/python
    11 #coding:utf-8
    12 import string
    13 str = 'ghostwu'
    14 print string.capitalize( str )
    15 
    16 ghostwu@ghostwu:~/python/module$ python import_test.py 
    17 Traceback (most recent call last):
    18   File "import_test.py", line 8, in <module>
    19     print string.capitalize( str )
    20 AttributeError: 'module' object has no attribute 'capitalize'
    21 ghostwu@ghostwu:~/python/module$ ls -a
    22 .  ..  import_test.py  string.py  string.pyc 

        在当前目录下,定义了一个同名的string模块( 指的是与系统的string模块同名 ),由于执行的时候,当前目录的模块被import了,所以识别不了系统string模块的方法capttalize.

    只要删除目录下的string.py string.pyc,就能正常import系统的模块 

         1 ghostwu@ghostwu:~/python/module$ ls -a

    2 .  ..  import_test.py  string.py  string.pyc
    3 ghostwu@ghostwu:~/python/module$ rm string.py string.pyc
    4 ghostwu@ghostwu:~/python/module$ ls -a
    5 .  ..  import_test.py
    6 ghostwu@ghostwu:~/python/module$ python import_test.py 
    7 Ghostwu    
  • 相关阅读:
    centos ppp拨号
    Xen、KVM和VirtualBox比拼
    static用法一
    linux浏览器,邮件客户端,输入法,双屏设置,应用软件,gnome-screenshot/scrot -s截图,office
    OpenGl学习总结
    DICOM医学图像处理:DCMTK在VS2012中的配置
    linux下用mail发送邮件
    (HLS播放器之中的一个)HLS协议之M3U8解析
    tcpdump抓包分析具体解释
    对账简单说
  • 原文地址:https://www.cnblogs.com/68xi/p/8616360.html
Copyright © 2011-2022 走看看