在python用import或者from…import或者from…import…as…来导入相应的模块,作用和使用方法与C语言的include头文件类似。其实就是引入某些成熟的函数库和成熟的方法,避免重复造轮子,提高开发速度。

python的import方法可以引入系统的模块,也可以引入我们自己写好的共用模块,这点和php非常相似,但是它们的具体细节还不是很一样。因为php是在引入的时候指明引入文件的具体路径,而python中不能够写文件路径进行引入。

下面总结一下import的几种情况:

python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径。

下面将具体介绍几种常用情况:

(1)主程序与模块程序在同一目录下:

如下面程序结构:

-- src

|-- mod1.py– test1.py

若在程序test1.py中导入模块mod1, 则直接使用import mod1或from mod1 import *;

(2)主程序所在目录是模块所在目录的父(或祖辈)目录

如下面程序结构:

-- src

|-- mod1.py

|-- mod2

|– mod2.py

`– test1.py

若在程序test1.py中导入模块mod2, 需要在mod2文件夹中建立空文件init.py文件(也可以在该文件中自定义输出模块接口); 然后使用 from mod2.mod2 import * 或import mod2.mod2.

(3)主程序导入上层目录中模块或其他目录(平级)下的模块

如下面程序结构:

-- src

|-- mod1.py

|-- mod2

|– mod2.py

|– sub

| -- test2.py– test1.py

若在程序test2.py中导入模块mod1和mod2。首先需要在mod2下建立init.py文件(同(2)),src下不必建立该文件。然后调用方式如下:

下面程序执行方式均在程序文件所在目录下执行,如test2.py是在cd sub;之后执行python test2.py

而test1.py是在cd src;之后执行python test1.py; 不保证在src目录下执行python sub/test2.py成功。

import sys

sys.path.append(“..”)

import mod1

import mod2.mod2

python中必须使用import引入模块_Python之import方法引入模块详解相关推荐

  1. 在python中使用关键字define定义函数_python自定义函数def的应用详解

    这里是三岁,来和大家唠唠自定义函数,这一个神奇的东西,带大家白话玩转自定义函数 自定义函数,编程里面的精髓! def 自定义函数的必要函数:def 使用方法:def 函数名(参数1,参数2,参数-): ...

  2. python中for in range的用法_Python for i in range ()用法详解

    for i in range ()作用: range()是一个函数, for i in range () 就是给i赋值: 比如 for i in range (1,3): 就是把1,2依次赋值给i r ...

  3. python中 for i in range(10)_Python for i in range ()用法详解

    for i in range ()作用: range()是一个函数, for i in range () 就是给i赋值: 比如 for i in range (1,3): 就是把1,2依次赋值给i r ...

  4. python中代理模式分为几种_Python设计模式之代理模式实例详解

    本文实例讲述了Python设计模式之代理模式.分享给大家供大家参考,具体如下: 代理模式(Proxy Pattern):为其他对象提供一种代理以控制对这个对象的访问 #!/usr/bin/env py ...

  5. python对输入的字符串进行解析_python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

  6. python中map()和dict()怎么用?你知道吗?-用法详解

    map()用法 map()是python的内置函数,会根据提供的函数对指定序列做映射. 语法: map(func, iter, ...) 其中func为一个功能函数,iter表示可迭代参数序列.map ...

  7. python中rand和randn_基于numpy.random.randn()与rand()的区别详解

    下面为大家分享一篇基于numpy.random.randn()与rand()的区别详解,具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 numpy中有一些常用的用来产生随机数的函数,randn ...

  8. python如何调用文件进行换位加密_python 换位密码算法的实例详解

    python 换位密码算法的实例详解 一前言: 换位密码基本原理:先把明文按照固定长度进行分组,然后对每一组的字符进行换位操作,从而实现加密.例如,字符串"Error should neve ...

  9. python写一个网络测速脚本_Python实现网络测试的脚本分享详解

    这篇文章主要给大家介绍了关于利用Python实现网络测试的方法,文中给出了详细的示例代码供大家参考学习,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧. 前言 最近同学让我帮忙写一个测试网 ...

  10. python装饰器函数执行后日志_Python装饰器使用规范案例详解

    >>> def now(): ... print('2015-3-25') ... >>> f = now >>> f() 2015-3-25 函 ...

最新文章

  1. Mysql学习笔记004
  2. 地图检索 – 与众不同
  3. ASP.NET MVC 2 验证
  4. 02丨基础篇:到底应该怎么理解“平均负载”?
  5. Dapper基础知识三
  6. 删除顺序表中重复元素,并按照原序输出
  7. 【转】 谈谈C++中的swap函数
  8. Python源码深度解析—引用计数
  9. 计算机科学技术名家讲座许进,论高校计算机科学与技术课程中存在的问题与改革方向.pdf...
  10. android 添加字幕,字幕添加器app-字幕添加器安卓版v2.0.1 - 起点软件园
  11. 第一次登录域控服务器的账号,windows域登录与SSO服务器整合
  12. 做新媒体短视频运营需要什么技能
  13. word2016 页码问题
  14. 高价拍下巴菲特午餐的90后孙宇晨是谁?
  15. 分段函数的期望和方差_导数排列组合期望方差.doc
  16. 风险投资VC对ESG指标的影响
  17. texlive写论文源代码_使用Latex写论文
  18. 揭秘Alltesting众测平台
  19. 基于Python(Tkinter)实现(图形界面)小说阅读器【100010450】
  20. 优酷m3u8视频源地址获取失败

热门文章

  1. python 读取csv带表头_python读csv文件时指定行为表头或无表头的方法
  2. python小测验3_python基础小测试
  3. 小帅小胖智能机器人价格_小胖机器人CEO魏然:机器人+教育,是未来教育大势所趋...
  4. python怎么定义名称_Python模块的定义,模块的导入,__name__用法实例分析
  5. vue引入如何使用不同字体
  6. VS2010怎样显示行号
  7. RabbitMQ消息订阅与轮询
  8. Android开发笔记(一百七十二)第二代翻页视图ViewPager2
  9. Linux http配置文件解析
  10. Octopress使用中经验总结