定义

模块:用来从逻辑上组织Python代码(变量、函数、类、逻辑)去实现一个功能。本质就是.py结尾的Python文件。

包:用来从逻辑上组织模块的(可以放一堆模块在目录下)。本质就是一个目录(必须带有一个__init__.py文件)。

导入模块

导入单个:

import 模块名

导入多个:

import 模块名1,模块名2

导入模块中所有代码:

from 模块名 import *

import导入于from 模块名 import *导入在调用上的区别:

module.function()

function()

跨目录导入包:

import sys

print(sys.path) #python会去哪些目录下找模块,是一个列表

Module_Dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #获取到模块目录

sys.path.append(Module_Dir)#把模块目录加到sys.path列表中

import 要导入的模块

代码说明

module_test.py

def Index():

print("Welcome to Index Page.")

main.py

# import module_test

from module_test import * #这种是把模块中的代码复制到了这个py脚本中

from module_test import Index as Index_module #如果导入的模块中函数与该py脚本中的函数名一样,使用as别名

def Index():

print("Main Page")

# module_test.Index() #这样调用是不行的

Index()

Index_module()

输出结果如下:

import本质

就是把Python文件解释一遍。

比如我们导入requests模块,requests = requests模块中的所有代码,所以调用的时候需要requests.function()。

import requests

而使用from导入的时候,是把模块中的代码复制到了这个py脚本中,所以调用的时候直接使用函数。

导入包

导入包的本质是去执行包下的__init__.py文件。

import packagename

如果调用包中的模块呢?

因为本质是读取__init__.py文件,因此在__init__.py文件写要导入的模块(相对导入)。

from . import 模块名

调用的话就是

packagename.模块名.function()

代码演示

__init__.py:

print("in the package")

main.py:

import package

运行效果:

导入优化

import导入:使用多次模块中的函数的话,会重复找路径的动作,效率会低,因此可以使用from方法导入来优化脚本效率。

module.function()

模块的分类

标准库(也叫内置模块)

开源模块(也叫第三方模块)

自定义模块

python怎么导入文件-Python模块导入详解相关推荐

  1. python zipfile_Python中的zipfile模块使用详解

    zip文件格式是通用的文档压缩标准,在ziplib模块中,使用ZipFile类来操作zip文件,下面具体介绍一下: class zipfile.ZipFile(file[, mode[, compre ...

  2. python subprocess使用_Python subprocess模块用法详解

    在 Python 2.7 及 Python 3 中,系统自带了 subprocess 模块,该模块主要用来管理子进程. 在使用该模块之前需要将其引入,方法如下: import subprocess 在 ...

  3. python标准库对象导入语句_Python标准库之Sys模块使用详解

    sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分. 处理命令行参数 在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称. 使用sy ...

  4. python3 json模块_详解python 3.6 安装json 模块(simplejson)

    JSON 相关概念: 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON,XML等.反序列化就是从存储区域(JSON,XML)读取反 ...

  5. python怎么导入文件-Python文件如何引入?详解引入Python文件步骤

    python基本语法--引入Python文件 1.新建python文件 :在同目录lib下创建mylib.py和loadlib.py两个文件 2.在mylib.py文件中创建一个Hello的类 并且给 ...

  6. pycharm导入python环境是空的_PyCharm导入python项目并配置虚拟环境的教程详解

    PyCharm导入python项目并配置虚拟环境的教程详解 进入PyCharm后,点击File→Open,然后在弹窗中选择需要导入项目的文件夹: 打开了python项目后,需要配置该项目对应的pyth ...

  7. python中docx模块的使用_python使用docx模块读写docx文件的方法与docx模块常用方法详解...

    一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就是说python-docx模块会把word文档,文档中的段落.文本.字体等都看做对象,对对象 ...

  8. python os.path.exists 已存在_详解python os.path.exists判断文件或文件夹是否存在

    1.SocketServer模块编写的TCP服务器端代码 Socketserver原理图服务端:import SocketServer #导入SocketServer,多线程并发由此类实现 class ...

  9. python读取遥感 dat_基于python批量处理dat文件及科学计算方法详解

    摘要:主要介绍一些python的文件读取功能,文件内容修改,文件名后缀更改等操作. 批处理文件功能 import os path1 = 'C:\\Users\\awake_ljw\\Documents ...

  10. python shelve模块_python3 shelve模块的详解

    python3 shelve模块的详解 一.简介 在python3中我们使用json或者pickle持久化数据,能dump多次,但只能load一次,因为先前的数据已经被后面dump的数据覆盖掉了.如果 ...

最新文章

  1. 为什么必须是final的呢?
  2. Linux配置示例:配置java环境变量
  3. 去掉“3_人民日报语料”中每行前边的数字编号,改成“1, 2,......”
  4. 【深度学习】吊打一切现有版本的YOLO!旷视重磅开源YOLOX:新一代目标检测性能速度担当!...
  5. python基础语法手册-python语法手册
  6. 学习资料(干货汇集)不断更新【更新于2017-9-17】
  7. jQuery10个重要问题梳理
  8. sql_插入,修改,删除
  9. gif透明背景动画_汉服美女表情包(PS做GIF动图简易教程分享)
  10. 乌班图 修改ip_unbuntu(乌班图)虚拟机修改ip地址NAT模式
  11. 阿米洛键盘失灵_机械键盘按键失灵维修,这里有个案例给你一些思路。
  12. 软件测试方法之正交试验测试方法
  13. 工业机器人工具中心点标定的意义_如何理解工业机器人的工具中心点(TCP)?...
  14. 【盘点】2017杭州云栖大会迁云实战Workshop
  15. 经济学十大原理(七)政府有时候可以改善市场结果
  16. Wechaty|不使用微信的web协议的机器人
  17. 投资理财--熊市笨小孩式交易75-25
  18. Redis学习记录之Transaction简析(十九)
  19. gzp解压命令 linux_Linux gzip命令:压缩文件或目录
  20. INSEC WORLD:世界信息安全西望成都

热门文章

  1. Amazon宣布将MXNet作为AWS的深度学习框架——貌似性能比tf高啊
  2. 查看suse系统版本
  3. 数据库系统概念—学习笔记1
  4. 【BFS宽度优先搜索】
  5. 3.1.7 封装的应用
  6. 【python】nuitka封装python
  7. [Java拾遗四]JavaWeb基础之Servlet_RequestResponse
  8. android:versionCode 跟 android:versionName
  9. 推荐系统--揭开推荐的神奇面纱
  10. PAT:1053. Path of Equal Weight (30) AC