python怎么导入文件-Python模块导入详解
定义
模块:用来从逻辑上组织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模块导入详解相关推荐
- python zipfile_Python中的zipfile模块使用详解
zip文件格式是通用的文档压缩标准,在ziplib模块中,使用ZipFile类来操作zip文件,下面具体介绍一下: class zipfile.ZipFile(file[, mode[, compre ...
- python subprocess使用_Python subprocess模块用法详解
在 Python 2.7 及 Python 3 中,系统自带了 subprocess 模块,该模块主要用来管理子进程. 在使用该模块之前需要将其引入,方法如下: import subprocess 在 ...
- python标准库对象导入语句_Python标准库之Sys模块使用详解
sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分. 处理命令行参数 在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称. 使用sy ...
- python3 json模块_详解python 3.6 安装json 模块(simplejson)
JSON 相关概念: 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON,XML等.反序列化就是从存储区域(JSON,XML)读取反 ...
- python怎么导入文件-Python文件如何引入?详解引入Python文件步骤
python基本语法--引入Python文件 1.新建python文件 :在同目录lib下创建mylib.py和loadlib.py两个文件 2.在mylib.py文件中创建一个Hello的类 并且给 ...
- pycharm导入python环境是空的_PyCharm导入python项目并配置虚拟环境的教程详解
PyCharm导入python项目并配置虚拟环境的教程详解 进入PyCharm后,点击File→Open,然后在弹窗中选择需要导入项目的文件夹: 打开了python项目后,需要配置该项目对应的pyth ...
- python中docx模块的使用_python使用docx模块读写docx文件的方法与docx模块常用方法详解...
一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就是说python-docx模块会把word文档,文档中的段落.文本.字体等都看做对象,对对象 ...
- python os.path.exists 已存在_详解python os.path.exists判断文件或文件夹是否存在
1.SocketServer模块编写的TCP服务器端代码 Socketserver原理图服务端:import SocketServer #导入SocketServer,多线程并发由此类实现 class ...
- python读取遥感 dat_基于python批量处理dat文件及科学计算方法详解
摘要:主要介绍一些python的文件读取功能,文件内容修改,文件名后缀更改等操作. 批处理文件功能 import os path1 = 'C:\\Users\\awake_ljw\\Documents ...
- python shelve模块_python3 shelve模块的详解
python3 shelve模块的详解 一.简介 在python3中我们使用json或者pickle持久化数据,能dump多次,但只能load一次,因为先前的数据已经被后面dump的数据覆盖掉了.如果 ...
最新文章
- 为什么必须是final的呢?
- Linux配置示例:配置java环境变量
- 去掉“3_人民日报语料”中每行前边的数字编号,改成“1, 2,......”
- 【深度学习】吊打一切现有版本的YOLO!旷视重磅开源YOLOX:新一代目标检测性能速度担当!...
- python基础语法手册-python语法手册
- 学习资料(干货汇集)不断更新【更新于2017-9-17】
- jQuery10个重要问题梳理
- sql_插入,修改,删除
- gif透明背景动画_汉服美女表情包(PS做GIF动图简易教程分享)
- 乌班图 修改ip_unbuntu(乌班图)虚拟机修改ip地址NAT模式
- 阿米洛键盘失灵_机械键盘按键失灵维修,这里有个案例给你一些思路。
- 软件测试方法之正交试验测试方法
- 工业机器人工具中心点标定的意义_如何理解工业机器人的工具中心点(TCP)?...
- 【盘点】2017杭州云栖大会迁云实战Workshop
- 经济学十大原理(七)政府有时候可以改善市场结果
- Wechaty|不使用微信的web协议的机器人
- 投资理财--熊市笨小孩式交易75-25
- Redis学习记录之Transaction简析(十九)
- gzp解压命令 linux_Linux gzip命令:压缩文件或目录
- INSEC WORLD:世界信息安全西望成都
热门文章
- Amazon宣布将MXNet作为AWS的深度学习框架——貌似性能比tf高啊
- 查看suse系统版本
- 数据库系统概念—学习笔记1
- 【BFS宽度优先搜索】
- 3.1.7 封装的应用
- 【python】nuitka封装python
- [Java拾遗四]JavaWeb基础之Servlet_RequestResponse
- android:versionCode 跟 android:versionName
- 推荐系统--揭开推荐的神奇面纱
- PAT:1053. Path of Equal Weight (30) AC