zoukankan      html  css  js  c++  java
  • python常用模块(一)

    python常用模块(一)

    time模块常用

    # 通常time模块打印时间有三种
    import time
    # 时间戳形式
    print(time.time())  # 时间戳时从1970年1月1日开始计时的时间
    # 格式化时间(需要自己定义格式)
    print(time.strftime(%Y-%m-%d %X))  # 年月日 时间
    # 结构化时间
    print(time.localtime())  # 以北京时间为准
    print(time.gmtime())  # 以格林威治时间为准 与北京时间8小时时差
    
    # 结构化时间转为格式化时间
    struct_time = time.localtime()
    print(time.strftime('%Y-%m-%d',struct_time))
    
    # 结构化时间转为时间戳
    print(time.mktime(struct_time))
    
    # 格式化时间转为结构化时间
    format_time = time.strftime('%Y-%m-%d %X')
    print(time.striptime('2019-06-01 12:00:00','%Y-%m-%d %X'))
    
    # 时间戳转化为结构化时间
    stamp_time = time.time()
    print(time.localtime(stamp_time))
    
    # 掌握时间停滞方法
    time.sleep()  # 写秒数
    

    datatime模块常用

    import datetime
    # 获取当地时间
    now = datetime.datetime.now()  # 打印出来完整的年月日时分秒 加上毫秒
    # 对打印出来的时间进行加减
    print(now + datetime.timedelta(days = 5))  # 默认修改为天
    print(now + datetime.timedelta(5))  #加五天
    print(now + datetime.timedelta(-5))  # 减五天
    
    print(now + datetime.timedelta(hours = 5)) #可修改小时,分钟,秒. hours/minutes/secends
    # 自定义修改时间
    print(now.replace(year= 2010,month= 11, day = 22, hour = 4)  # 全不可以自定义,不修改的部分就和现在的时间一致
    

    os模块(*)

    # os和操作系统相互交互,文件操作
    
    import os
    
    # 创建文件夹
    os.mkdir('kkk')
    
    # 删除多个空文件夹,会一直递归往上删除,直至删除所有空文件夹
    os.removedirs(r'D:day 17bbcccddd')
    
    # 删除一个空文件夹
    os.rmdir(r'D:day 17bb')
    
    # 列出文件夹内所有文件名和隐藏问件名
    print(os.listdir(r'D:day 17bb'))
    
    # 删除文件
    os.remove(r'D:day 17bb	est.py')
    
    # 重命名文件
    os.rename(r'D:day 17bb	est.py',r'D:day 17bbjiba.py')  # 原文件名改为新文件名
    
    # 打印环境变量
    print(os.environ)
    
    # dirname 用在执行文件添加环境变量 (*)
    print(os.path,dirname(r'D:day 17bb	est.py'))
    print(os,path,dirname(__file__))
    
    # import sys
    sys.path.append(r'D:day 17bb	est.py')  # 添加环境变量
    
    # 判断文件是否存在
    print(os.path.exis(r'D:day 17bb	est.py'))  # 返回布尔值
    
    # 拼接文件路径,(因为系统不一样,文件路径的衔接也不相同)
    print(os.path.join(r'D:day 17bb	est','sb.py'))  
    
    # 计算文件大小 (*)
    print(os.path.getsize(r'D:day 17bb	est.py'))
    
    # 打印文件夹下所有文件夹和文件
    print(os.walk(r'D:day 9').__next__)
    

    random模块

    # 随机数模块
    import random
    print(random.random())  # 会打印0到1之间的随机小数,不包括0和1
    
    # 打印[n,m]之间的数
    print(random.randint(1,3))  # 闭区间
    
    # 打印(n,m)之间的小数
    print(random.uniform(1,3))
    
    # 打印[n,m)之间的整数
    print(random.randrange(1,3))
    
    # 从容器中选择一个随机元素
    print(random.choice([1000,'2',333,'ada'])
    
    # 从容器中选择多个
    print(random.sample([1,'w',32,'2','b'],2)  # 从指定容器选择2个随机元素
    
    # 将容器中的元素打乱
    lis = [1,9,41,14,5,23,6,26,2]
    random.shuffle(lis)
    print(lis)  # lis已被打乱
    

    sys模块

    # 与python交互
    import sys
    
    print(sys.argv)  (**)
    # Sys.argv[ ]其实就是一个列表,里边的项为用户输入的参数,关键就是要明白这参数是从程序外部输入的,而非代码本身的什么地方,要想看到它的效果就应该将程序保存了,从外部来运行程序并给出参数
    
    # 获取解释器的版本
    print(sys.hexversion)
    
    # 获取当前文件导入模块的路径
    print(sys.path)  # 调用sys.stdout
    
    # sys.stdout.write('123
    ') 类似print 但这是c写的
    
    # print(sys.stdin.read(10))
    
    def print(str, end = '
    '):
    	str = str + end
    	sys.stdout.write('我是新的print
    ')
    	sys.stdout.write(str)
    
    print('sdads')  # 调用该手写的print 可以输出相应的字符串(其它格式还不行)
    
    

    json和pickle模块

    json模块和pickle将数据序列化保存数据,json格式其它与言也会有,所以可以跨平台传输数据

    # json中只能写入python中的dict/list/str/int/float/bool/None

    # pickle是python独有的,可存任意类型数据

    import json
    
    dic = {'name':'nick'}
    with open('test.json','w',encoding = 'utf8') as fw:
    	json.dump(dic,fw)
    	
    with open('tset.json','r',encoding = 'utf8') as fr:
    	data = json.load(fr)
    	
    print(data, type(data))
    
    

    # pickle由于传输的是二进制,所以应该用b模式打开

    def func():
    	print('111')
    
    with open(r'D:day 17m1	est.pkl','wb') as fw:
        pickle.dump(func,fw)
    
    with open(r'day 17m1	est.pkl','rb') as fr:
        data = pickle.load(fr)
    data()
    
    
  • 相关阅读:
    D365: 笔记(VS无法打开表浏览器)
    D365: 笔记(跟踪调试批处理代码)
    D365: 笔记(非批处理执行class中弹出交互式窗体或报表)
    D365: 笔记(现有量增加批号表字段查询条件)
    D365: 新功能(二)采购发票自动化流程
    D365: 新功能(一)按日期设置编号规则
    ES6 入门教程(未完)
    深入理解TypeScript(未完)
    项目
    vue + threejs 项目踩坑总结
  • 原文地址:https://www.cnblogs.com/Dr-wei/p/10998457.html
Copyright © 2011-2022 走看看