当前目录如果有同名的系统模块,那么当前目录的模块会被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. vs code 自定义配置记录

    java环境安装:https://devblogs.microsoft.com/visualstudio/announcing-visual-studio-code-java-installer/ 保 ...

  2. 如何申请高德地图用户Key

    打开网页https://lbs.amap.com/,进入高德开发平台. 单击箭头处[注册],打开注册页面.(如果您已注册为高德地图开发者可跳过此步骤,直接登录即可). 选择[成为个人开发者],如果您是 ...

  3. Python 入门(1):hello world 到流程控制

    1.hello world 在D:\python\目录下新建文件hello.txt,编写代码如下 print("hello world!") 修改后缀名为.py,执行hello.p ...

  4. mysql 注意小结

    char 默认是1 个字符 char(12) 设置是12个字符 不管是中文还是英文或者数字只能有十二个 设置外键时,这时候外键对应的父键的字段要是主键 非空而且是唯一. create table t1 ...

  5. (转)为什么ssh一关闭,程序就不再运行了?

    ref :https://www.cnblogs.com/lomper/p/7053694.html 问题描述 当SSH远程连接到服务器上,然后运行一个程序,eg: ./test.sh, 然后把终端开 ...

  6. ArcGIS Engine中C#开发不能引用ESRI.ArcGIS.AxControls问题

    问题:ArcGIS Engine中C#开发不能引用ESRI.ArcGIS.AxControls问题 解决方法:将这里的特定版本改成“False”即可.

  7. 独热编码(One-Hot)的理解

    https://www.imooc.com/article/35900 参考上面大神的原文,说的非常透彻.非常便于理解.感谢 感谢 自己做个小笔记,便于自己学习 特征值是离散的,无序的. 如: 性别特 ...

  8. 转:更改pip源至国内镜像,显著提升下载速度

    经常在使用python的时候需要安装各种模块,而pip是很强大的模块安装工具,但是由于国外官方pypi经常被墙,导致不可用,所以我们最好是将自己使用的pip源更换一下,这样就能解决被墙导致的装不上库的 ...

  9. Python进阶----反射(四个方法),函数vs方法(模块types 与 instance()方法校验 ),双下方法的研究

    Python进阶----反射(四个方法),函数vs方法(模块types 与 instance()方法校验 ),双下方法的研究 一丶反射 什么是反射: ​ 反射的概念是由Smith在1982年首次提出的 ...

  10. Charles关于Https SSLHandshake解决备忘录

    抓包Https时错误提示:SSLHandshake: Received fatal alert: unknown_ca   1.准备工作,下载Charles版本 有情链接,提取码为:ghc6,其中包含 ...