当前目录如果有同名的系统模块,那么当前目录的模块会被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

pytho模块的加载顺序的更多相关文章

  1. day16模块,导入模板完成的三件事,起别名,模块的分类,模块的加载顺序,环境变量,from...import语法导入,from...import *,链式导入,循环导入

    复习 ''' 1.生成器中的send方法 -- 给当前停止的yield发生信息 -- 内部调用__next__()取到下一个yield的返回值 2.递归:函数的(直接,间接)自调用 -- 回溯 与 递 ...

  2. Python 模块的加载顺序

    基本概念 module 模块, 一个 py 文件或以其他文件形式存在的可被导入的就是一个模块 package 包,包含有 init 文件的文件夹 relative path 相对路径,相对于某个目录的 ...

  3. nodejs 模块加载顺序

    nodejs 模块加载顺序 一.当引入模块的形式是 require('lt') 时(1).先找当前文件夹下的node_modules文件夹下的lt文件夹下的package.json 文件指定的main ...

  4. javascript不依赖JS加载顺序事件对象实现

    背景: 在现在WEB开发中,稍复杂一点的页面,都会涉及到多个模块,尤其是类似seajs.LABjs.requireJS等模块工具出来后,前端开发者分模块开发已经慢慢变成一种习惯了,但是多个模块间的常常 ...

  5. Java中静态变量、静态代码块、非静态代码块以及静态方法的加载顺序

    在研究单例设计模式的时候,用到了静态变量和静态方法的内容,出于兴趣,这里简单了解一下这四个模块在类初始化的时候的加载顺序. 经过研究发现,它们的加载顺序为: 1.非静态代码块 2.静态变量或者静态代码 ...

  6. SpringBoot系列教程之Bean加载顺序之错误使用姿势辟谣

    在网上查询 Bean 的加载顺序时,看到了大量的文章中使用@Order注解的方式来控制 bean 的加载顺序,不知道写这些的博文的同学自己有没有实际的验证过,本文希望通过指出这些错误的使用姿势,让观文 ...

  7. web.xml加载顺序

    一 1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Ser ...

  8. web.xml文件加载顺序

    1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Servl ...

  9. web.xml 中的listener、 filter、servlet 加载顺序及其详解

    在项目中总会遇到一些关于加载的优先级问题,近期也同样遇到过类似的,所以自己查找资料总结了下,下面有些是转载其他人的,毕竟人家写的不错,自己也就不重复造轮子了,只是略加点了自己的修饰. 首先可以肯定的是 ...

随机推荐

  1. Windows 7 下使用gitblit + git 搭建小组内文件版本控制环境

    一.GitBlit下载及配置 使用前先看下GitBlit的百科介绍,很简洁:需要java运行环境:是一个纯 Java 库用来管理.查看和处理Git 资料库.即一个基于Java的分布式版本控制系统. 1 ...

  2. 选redis还是memcache,源码怎么说

    转自: https://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=2651961272&idx=1&sn=79ad515b01 ...

  3. SpringBoot整合websocket

    1.新增pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...

  4. python优先级问题

  5. 解决:[ERROR] Error executing Maven. [ERROR] 1 problem was encountered while building the effective set

    1. 报错如下: [ERROR] Error executing Maven. [ERROR] 1 problem was encountered while building the effecti ...

  6. NETRemoting学习笔记

    1..NET Remoting概念 1.一种分布式处理方式.从字面意义上看出,他是基于.net平台的一种远程对象开发技术,该技术是将远程计算机中的数据视为分布式对象来进行开发. 2.一种网络通信技术. ...

  7. C#泛型集合之——哈希集合

    1.特点:HashSet 中元素不重复,容量为元素个数,自动增大.是一组值,是高性能的数学集合. 2.创建: (1)HashSet<类型> 集合名 = new HashSet<类型& ...

  8. visual studio 2015 开发时常见问题的解决方案

    1.visual studio 2015 用printf函数打印时来不及看结果窗口就关闭 方案一 在所写的代码后面,加上system("PAUSE"); 如下:

  9. 2019 讯飞java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.讯飞等公司offer,岗位是Java后端开发,因为发展原因最终选择去了讯飞,入职一年时间了,也成为了面试官,之 ...

  10. 虚拟Dom详解 - (一)

    随着Vue和React的风声水起,伴随着诸多框架的成长,虚拟DOM渐渐成了我们经常议论和讨论的话题.什么是虚拟DOM,虚拟DOM是如何渲染的,那么Vue的虚拟Dom和React的虚拟DOM到底有什么区 ...