Python学习【5】

Python模块

1、定义

模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件(文件名:test.py,对应的模块名:test)

包(package):用来从逻辑上组织模块,本质就是一个目录(必须带__init__.py文件)

2、导入方法

import module_name

调用:module_name.logger()

本质:module_name.py所有代码解释一遍,然后赋值给模块名,module_name <== all_code

import module_name,module_name2

import module_name as mn #重命名

from module_name import *

调用:logger()——->不需要模块名(相当于将module_name中的代码全部复制过来)

备注:不建议使用,可能会造成冲突,会造成相当方法的覆盖

from module_name import m1,m2,m3

本质:将module_name.py中的m1,m2,m3中的代码进行解释,并依次赋值给m1,m2,m3

from module_name import logger as lg

备注:相当于将module_name.logger()重命名

from . import module_name

备注:从当前路径导入module_name

3、import本质(路径搜索和搜索路径)

导入模块的本质就是把python文件解释一遍

import module_name—–>module_name.py——–>module_name.py 的路径—>sys.path

os.path.abspath(__file__)#获取当前文件的绝对路径,含文件名

os.path.dirname(os.path.abspath(__file__))#当前路径往前返回一层,不含文件名

path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))#再往上返回一层路径

sys.path.append(path) #添加path到环境变量中,最后面

sys.path.insert(0,path) #添加路径到环境变量最前面

导入包的本质就是执行该包下的__init__.py文件

4、导入优化

from module_test import test #防止重复导入module

5、模块的分类

a:标准模块

b:开源模块

c:自定义模块

标准库:

1、time与datetime

import time

time.time() #获取时间戳,1970.1.1到现在的时间,单位秒

time.sleep(2) #休眠2秒

random模块

random.random() #产生一个随机浮点数(0–1)

random.randint(1,5) #产生一个随机整数(1–5)包含两端

random.randrange(1,5) #产生一个随机整数(1–5)不包含5

random.choice('hello') #从中随机的选择一个,参数为序列类型str或者list等

random.sample("hello",2) #从中最近的取两位

random.uniform(1,3) #在指定区间产生一个随机浮点数

random.shuffle([1,2,3,4,5]) #洗牌功能,打乱顺序

示例:产生随机的验证码

os模块

功能:提供对操作系统进行调用的接口

sys模块

shutil模块

高级的文件、文件夹、压缩包处理模块

shutil.copyfileobj(fsrc, fdst[, length]) #将文件内容拷贝到另一个文件中,可以部分内容

shutil.copyfile(src, dst) #拷贝文件

shutil.copymode(src, dst) #仅拷贝权限。内容、组、用户均不变

shutil.copystat(src, dst) #拷贝状态的信息,包括:mode bits, atime, mtime, flags

shutil.copy(src, dst) #拷贝文件和权限

shutil.copy2(src, dst) #拷贝文件和状态信息

shutil.copytree(src, dst, symlinks=False, ignore=None) #递归的去拷贝文件(目录)

shutil.rmtree(path[, ignore_errors[, onerror]]) #递归的去删除文件(目录)

shutil.move(src, dst) #递归的去移动文件

shutil.make_archive(base_name, format,…)

创建压缩包并返回文件路径,例如:zip、tar

<>base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至 当前目录,否则保存至指定路径,

如:www =>保存至当前路径

如:/Users/heimu/www =>保存至/Users/heimu/

<>format: 压缩包种类,"zip", "tar", "bztar","gztar"

<>root_dir: 要压缩的文件夹路径(默认当前目录)

<>owner: 用户,默认当前用户

<>group: 组,默认当前组

<>logger: 用于记录日志,通常是logging.Logger对象

shelve模块

shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式。

写:

读:

Re模块

正则表达式,模糊匹配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值