zoukankan      html  css  js  c++  java
  • 模块

    时间模块
    import time
    time.time() #现在的时间戳时间
    time.localtime() #现在(北京)机构化时间
    格式化时间--time.strptime(ret,"%Y-%m-%d %H:%M:%S")-->结构化时间--time.mktime(ret)-->时间戳时间
    时间戳时间--time.localtime(ret)(北京)/time.gmtime(ret)(0时区)-->结构化时间--time.strftime("%Y-%m-%d %H:%M:%S",ret)-->格式化时间


    random模块
    import random
    随机小数
    random.random() #取0-1之间的小数 没有参数
    random.uniform(n,m) #取n-m之间的小数

    随机整数
    random.randint(n,m) #取n-m之间的整数(包括n,m)
    random.randrange(n,m,k) #取n-m之间的整数 k为步长 (不包括m)

    随机抽取
    l = [1,2,'abc',{'k':'v'},(1,2,3)]
    random.choice(l) #在列表中随机抽取
    random.sample(l) #在列表中不放回随机抽取

    打乱顺序
    l = [1,2,'abc',{'k':'v'},(1,2,3)]
    random.shuffle(l) #打乱列表的顺序


    os模块
    文件和文件夹的操作
    路径的操作
    执行系统命令
    工作目录
    import os


    print(__file__) #打印当前文件的绝对路径
    os.listdir() #查询一个路径下所有的文件和文件夹
    os.makedirs() #创建一个多级目录(递归)文件
    os.removedirs() #删除一个多级目录文件(递归)(最下级文件只要为空就删除)
    os.mkdir() #创建一个单级文件夹
    os.rmdir() #删除一个单级文件夹
    os.remove() #删除文件
    os.rename() #更改文件名
    os.stat() #查看当前文件的信息
    os.system() #运行shell命令,直接显示
    os.popen() #运行shell命令,获取执行结果
    os.getcwd() #获取当前工作目录,即当前python脚本工作的目录路径
    os.chdir() #改变当前脚本工作目录,相当于shell下cd
    os.path.abspath() #获取当前文件规范的绝对路径
    os.path.split() #对文件的路径进行切割,第一项得到的是绝对路径,第二项是文件名称
    os.path.dirname() #查看被切割后元组的第一个元素
    os.path.basename() #查看被切割后元组的第二个元素
    os.path.join() #文件路径的拼接(绝对路径+文件名称)
    os.path.isfile() #判断是否是文件 是返回True
    os.path.isdir() #判断是否是文件夹 是返回True
    os.path.isabs() #判断是否是绝对路径 是返回True
    os.path.getsize() #查看文件的大小
    os.path.getatime() #查看上一次访问时间
    os.path.getmtime() #查看上一次修改时间
    os.path.exists() #判断该路径path是否存在




    sys 模块

    import sys
    sys.exit() #退出程序 参数 0 正常退出 1 异常退出
    sys.path() #一个模块能不能被找到,主要是看这个模块文件所在的路径在不在sys.psth中
    sys.argv() #一个文件在命令行被执行时python这句话后面的所有内容都会成为sys.argv中的一项

    eg
    user = sys.argv[1]
    passwd = sys.argv[2]
    if user == 'alex' and passwd == '123':
    print('登陆成功')
    else:
    exit()
    print('登陆成功之后才能执行的逻辑')

    sys.platform() #查看当前的操作系统
    sys.version() #查看当前python版本



    正则表达式
    字符组
    w #数字,字母,下划线(word)
    W #除了数字,字母,下划线
    s #空格 tab 回车
    S #除了空格 tab 回车
     #单词两边界
    B #除了单词两边界
    d #数字
    D #除了数字
    #回车
    #tab
    ^ #匹配字符串的开始
    $ #匹配字符串的结尾
    . #除了换行符之外的所有
    | #或 从左到右一次匹配
    [....] #字符组
    () #分组
    [^...] #除了字符串都可以匹配
    # 量词
    {n} #重复n次
    {n,} #重复至少n次
    {n,m} #重复n-m次
    ? #匹配0次或者1次
    + #匹配一次或者多次
    * #匹配0次或者多次
    元字符+量词 #默认贪婪匹配
    元字符+量词+? #惰性匹配
    (?:正则表达式) #取消分组的优先显示


    re模块
    import re
    re.findall('正则表达式','待匹配的字符串') #返回一个列表, 优先显示分组中匹配的内容
    re.search('正则表达式','待匹配的字符串') #从左到右找到第一个匹配结果就返回 未匹配到返回None
    #ret.group() #返回匹配的内容
    re.match('正则表达式','待匹配的字符串') #默认在正则表达式之前加一个^ 未匹配到返回None
    #ret.group() #返回匹配的内容
    re.split('正则表达式','待匹配的字符串') #根据正则表达式切割
    re.sub('正则表达式','|','待匹配的字符串') #用|根据正则表达式替换
    re.subn('正则表达式','|','待匹配的字符串') #用|根据正则表达式替换 并返回被替换了几次
    re.compile('正则表达式') #同一个正则表达式被执行很多次应先编译 效率更高 节省时间 (爬虫)
    ret = re.finditer('正则表达式','待匹配的字符串') #节省空间
    for i in ret:
    print(i.group)


    序列化模块
    json模块
    import json
    ret = json.loads() #字符串---->其他数据类型
    ret = json.dumps() #其他数据类型---->字符串
    1、存储在硬盘上,写得每一个字符串必须是字符串/bytes数据类型
    2、网络传输时只能传递bytes/字符串
    json优缺点
    优点:所有语言都通用
    缺点:能支持的数据类型,dict list str 数字(不支持集合/元组被当成列表处理/字典的key只能是字符串)
    ret = json.dump()
    ret = json.load()
    缺点:可以写多个,但是无法读出

    pickle模块
    import pickle
    pickle优缺点:
    优点:支持python中几乎所有的数据类型
    缺点:只支持在python程序之间交换数据
    num = {}
    ret = pickle.dumps(num)
    dic = pickle.loads(ret)

    ret = pickle.dump('数据类型','文件句柄')
    ret = pickle.load('文件句柄')
    可以多次dump,多次load
  • 相关阅读:
    2019年3月博客汇总
    赞美郭老师
    多项式初步
    Linux 下安装配置 JDK
    Python搜索目录下指定的文件,并返回绝对路径(包括子目录)
    Python所有的错误都是从BaseException类派生的,常见的错误类型和继承关系
    Python地址簿
    PHP正确的使用复数
    seq
    date
  • 原文地址:https://www.cnblogs.com/hahahu/p/9964979.html
Copyright © 2011-2022 走看看