Loading

模块编程(python)

模块

模块导入

  • 使用import 模块名

  • 每一个python代码页 都属于一个模块

  • 安装外部模块 指令 pip install module_name

内置模块

系统调用交互模块 os

  • os.getcwd() str 返回当前python工作路径绝对路径

  • os.listdir() 获取文件目录所有文件名

  • os.mkdir() 创建一个目录 文件夹存在时无法创建

  • os.makedir() 创建多个文件夹

  • os.remove()删除文件 无法按删除目录

  • os.removedirs()删除空的目录

  • os.renames(old,new) 重命名目录或文件

  • os.path ::::

  • os.path.isdir 判断是不是一个目录

  • os.path.isfile 判断是不是一个文件

  • file 当前文件路径 在命令行只能返回文件名

  • os.path.abspath(file)获取文件绝对路径

  • os.path.exists()判断路径是否存在

  • os.path.join(路径左,路径右) 拼接路径

  • os.path_getsize(path) .获取文件大小 单位字节

  • os.stat(file_path)获取标准信息 上一次访问 最后一次修改 创建时间

  • os.work()递归查找目录下所有的文件

  • os.chdir()修改当前工作目录

  • os.getpid()获取线程的ID

系统调用交互模块 sys

  • argv 命令行参数 返回一个列表

  • path 查看模块导入时搜索的路径

  • stdout.write()输出在打印台

  • stdin.readline() 接收用户输入

  • system 执行命令

random随机模块

  • random()默认是0-1的浮点
  • randrange(num, num, stop) 范围随机
  • randint(num, num, stop)随机整数
  • choice(iter)随机从序列中拿出一个元素
  • choices(iter,weight, k)随机拿出几个元素生成列表放进去
  • shuffle()将一个序列打乱
  • sample()随机从序列里拿出一个不同的元素

time模块

  • python中有三种时间格式:
    格式化时间
    时间戳
    元组时间

  • time.time()
    时间戳(timestamp):
    表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。例子:1554864776.161901
    UTC世界协调时
    元租方式 共有九个元素

方法
将时间戳转换成
格式化时间:
time.struct_time
(tm_year=2021, tm_mon=5, tm_mday=13, tm_hour=16, tm_min=7, tm_sec=7, tm_wday=3, tm_yday=133, tm_isdst=0)

  • print(time.ctime(时间戳)) #获取格式化时间 将时间戳转化成 格式化时间(默认返回当前时间格式)
  • print(time.asctime(九元素时间)) #获取格式化时间
  • print(time.localtime(时间戳)) #获取(九元素)元组时间

获取当前时间 字符串时间

转换方法

  • 格式化时间转换成 元组时间 time.striptime("格式化时间")

  • 元组时间转成时间戳 time.mktime(struct_time((九元素)元组))

  • 时间戳转成 元组时间 time.gmtime(时间戳)

  • 元组时间转成格式化时间 time.strftime("%Y-%m-%d %H:%M:%S", (九元素)元组)

  • sleep()方法 让程序休息 单位秒

%y 两位数的年份表示
%Y 四位数的年份表示
%m 月份
%d 月内的一天
%H 24小时制表示
%I 12小时制表示
M 分钟
S 秒钟
w 星期几
W 一年中的星期天数

datetime 模块

now_date = datetime.datatime.now()

josn/pickle 模块

  • dumps()将数据转换成只有python解释器认识的字符串
  • dump()将数据转换成bytes格式
  • load() 从文件里加载 出来
  • loads() 从文件里记载

import json

  • json.dumps 将数据通过特殊的形式转换位所有程序语言都认识的字符串
    j_str = json.dumps(data) # 注意json dumps生成的是字符串,不是bytes
    print(j_str)
  • dump入文件
    with open('result.json','w') as fp:
    json.dump(data,fp)
    从文件里load
    with open("result.json") as f:
    d = json.load(f)
    print(d)

json vs pickle:
JSON:

优点:跨语言(不同语言间的数据传递可用json交接)、体积小

缺点:只能支持int\str\list\tuple\dict

Pickle:

优点:专为python设计,支持python所有的数据类型

缺点:只能在python中使用,存储数据占空间大

hashlib加密

md5 sha1 sha256 不可逆算法
base64 可逆算法

hashlib.md5("加盐内容")
msg = 'asldkjaskljd'.encode("utf-8")
md5 = hashlib.md5(msg)
放入加密的bytes字符串
md5.update(msg)

  • 查看加密后得输出方式
    md5.digst() 二进制表示方式
    md5.hexdigst()十六进制的表示方式

hashlib.sha1()
hashlib.sha256()
hashlib.sha512()

re 字符串匹配模块

过滤字符串 目的是拿到想要的字符串

Regular Expression RE

一:
compile("")指定规则
match("匹配规则", 需要过滤的字符串) # 只要从开头进行匹配 匹配不成功返回None
search("") 查找全部字符串
findall() 查找全部字符串

\d{}匹配数字
\w{}可以匹配中文,字母,数字
\s 可以匹配空格
[\u4e00-\u9fa5] 汉字在Unicode码中的范围

posted @ 2021-08-21 13:07  guxuanyan  阅读(112)  评论(0)    收藏  举报