1. 模块:一个有逻辑的python文件,包含变量、函数、类等。
2. 包:一个包含__init__.py的文件夹,存放多个模块
import 本质是路径搜索,查找sys.path下有无你导入的 package 或 模块 文件,有就行,没有就报错。
1. 导入模块,本质是把导入的模块解释执行一遍
1. 同级目录,直接导入
1. import <模块名>; # 相当于执行了<模块名> = <模块所有代码>
a. 函数调用方法:<模块名>.<函数名>()
b. 变量调用方法: <模块名>.<变量>
2. from <模块名> import <func1,func2...> ;效率相对较高,只导入某个对象,相当于执行<函数名>=<函数部分代码>
3. from 模块名 import *; 不建议使用,如果此文件中出现相同的变量或者函数名,则覆盖导入的模块中的变量和函数
2. 不同目录,需要添加模块所在的文件夹到sys.path, 然后导入方法同上。 2. 导入包及包中的模块,本质是把包下的__init__.py执行一遍
1. import 包名
a. 调用方法:包名.模块名.函数名()
b. 变量调用: 包名.模块名.变量
2. 不同目录
1. 先定位到两者共同目录下,即两者的父目录,或者父目录的父目录都行
方法:
1. 定位当前文件的绝对路径:os.path.abspath(__file__)
2. 定位到文件绝对路径的父目录:os.path.dirname(os.path.abspath(__file__))
3. 根据情况,不停地使用2中的os.path.dirname(),直到找到两者的共同目录
2. 将路径添加到环境变量里:sys.path.insert(0,path),append方法可能会出错
a. 查看环境变量的方法: print(sys.path)
3. 从你添加的路径导入
1. 如果你添加的两者到父目录,直接: from package import 模块名,调用: 模块名.函数名()
2. 如果添加的两者的父目录之上的目录,直接: from package.package.package import 模块名,调用: 模块名.函数名() 包导入,太长不看简洁版:
1. 获取两个需要导入的模块的共同文件夹,父目录 或 父目录+
2. 将目录添加到 sys.path : sys.path.insert(0,os.path.dirname(os.path.abspath(__file__))),
需要import os,sys
4. 从目录的下级目录开始导入: from *dir.*package.package import module

python 导入模块、包的更多相关文章

  1. selenium + python自动化测试unittest框架学习(四)python导入模块及包知识点

    在写脚本的时候,发现导入某些模块,经常报错提示导入模块失败,这里来恶补下python导入模块的知识点. 1.模块导入时文件查找顺序 在脚本中,import xxx模块时的具体步骤: (1)新建一个mo ...

  2. Python导入模块的三种形式

    Python导入模块的3中方式: 1.import module_name 这样在程序里就可以通过module_name.metnod_name()的方式访问模块里的函数了 Example: > ...

  3. python 导入模块 import 理解

    --python 导入模块 import 理解 -----------------------------------2014/03/18 python 导入一个模块的过程要求有一个叫做“路径搜索”的 ...

  4. python导入模块时的执行顺序

    当python导入模块,执行import语句时,到底进行了什么操作?按照python的文档,她执行了如下的操作: 第一步,创建一个新的module对象(它可能包含多个module) 第二步,把这个mo ...

  5. python 导入模块与使用

    学习python之前一定要了解导入模块是怎么导入的,至少在看代码时不知道能很快的了解别人写的东西是哪里来. Python默认仅安装部分基础或核心模块,启动时也仅加载了基础模块,在需要是再显式的加载其他 ...

  6. python导入模块和包的使用

    做项目的时候经常会要求做到模块化管理,即同样功能的代码放到同一个文件夹下,以便于方便管理,相信很多人对模块的引用都模糊不清,今天鄙人在这里就总结下. 一.模块导入的使用 在同一个文件夹下有两个文件分别 ...

  7. python基础--模块&包

    一.模块 1.模块是程序 任何Python程序都可以作为模块导入. 程序的保存也很重要,如果想把程序保存在C:\python (Windows)目录下,需要告诉解释器在哪里寻找模块了. >> ...

  8. python导入模块

    1.模块的定义: 模块定义:用来逻辑上组织python代码(变量.函数.类.逻辑:目的是:实现一个功能),本质就是.py结尾的python文件. 补充: 包的定义:用来从逻辑组织模块的,本质就是一个目 ...

  9. python 导入模块的坑。为什么整个项目能运行,单独运行某个文件模块就报错?多层目录不同文件夹怎么导入?

    一些文章介绍了python不同目录怎么导入问题,但py文件运行起点却从来没有文章说过!这是相当重要的!! 这个连接是网上99%的所讲的导入 https://www.cnblogs.com/luoye0 ...

随机推荐

  1. angular 的配置文件的应用

    为什么要使用 angular 的配置文件: 好处:我们可以在一个页面上,实现多个页面的跳转的感觉,但只是在一个页面上进行的操作: 我们的准备工作:下载 angular-route.js 插件 在依赖模 ...

  2. 【重点突破】—— UniApp 微信小程序开发官网学习Two

    一.使用Vue.js注意事项 Vue.js在uni-app中使用的差异: 新增:uni-app除了支持Vue实例的生命周期,还支持应用启动.页面显示等生命周期 受限:发布到H5时支持所有vue的语法, ...

  3. leetcode 125 验证回文字符串 Valid Palindrome

    验证回文字符串 C++ 思路就是先重新定义一个string ,先遍历第一遍,字符串统一小写,去除空格:然后遍历第二遍,首尾一一对应比较:时间复杂度O(n+n/2),空间O(n); class Solu ...

  4. python - 标准库:subprocess模块

    subprocess的目的就是启动一个新的进程并且与之通信. subprocess模块中只定义了一个类: Popen. subprocess.Popen(args, bufsize=0, execut ...

  5. Visual Studio Code 折叠代码快捷键

    为了快速阅读不熟悉的代码, 最好可以打开一个文件能先将具体实现折叠起来的,进行一个大概的认识,vscode中有这些折叠快捷键: ctrl+shift+[是折叠 ctrl+k ctrl+0 是折叠全部 ...

  6. 中国MOOC_零基础学Java语言_第4周 循环控制

    4.1 for循环 Tips for loops 如果有固定次数,用for 如果必须执行一次,用do_while 其他情况用while 4.2 循环控制 break和continue 在循环前可以放一 ...

  7. linux 学习笔记一

    Linux 学习笔记一 计算机 主要分为五个部分:控制器,运算器,存储器,输入设备,输出设备. 操作系统 操作系统就是针对硬件编写的程序,同时提供硬件接口调用的接口.操作系统需要处理如管理与配置内存. ...

  8. python3 基本数据类型_1

    不得已,要学习python3了,之前了解到py2与py3有很大不同,不过学起来才能感觉到,比如print. 不过,同样的代码,可以使用py3,py2执行,结果也相似,大家可以看看. 大概因为初学,还未 ...

  9. springboot(3) 页面到服务器

    第一讲实现了spring boot 环境的下载及配置. 第二讲实现了,从服务器,到页面. 第三讲打算从页面到服务器. 比如,我们希望 从页面,点击一个按钮,传递信息到服务器. 就拿传递用户名和密码来简 ...

  10. Scratch少儿编程系列:(三)第一个例子 潜水员

    一. 选择背景 在上一节系统界面的介绍中,选择"6角色"的左边,点击"从背景库中选择背景". 选择主题水下中的"underwater3". ...