python学习笔记-常用模块

#=================================常用模块========================
# calendar
# time
# datetime
# timeit
# os
# shutil
# zip
# math
# string
# 上述所有模块使用理论上都应该先导入,string是特例
# calendar,time,datetime的区别参考中文意思

#=========================calendar=====================
# 获取一年的日历字符串
    import calendar
    # calendar()获取某年的日历字符串
    # w = 每个日期之间的间隔字符数
    # l = 每周所占用的行数
    # c = 每个月之间的间隔字符数
    n = calendar.calendar(2017,w=0,l=1,c=1)
    calendar.prcal(2017) # 直接打印日历
        
    # monthcalendar() 返回一个月每天的矩阵列表
    # 格式:calendar.monthcalendar(年,月)
    # 回值:二级列表
    # 注意:矩阵中没有天数用0表示
    m = calendar.monthcalendar(2018, 3)
    
    calendar.isleap(2000) # isleap # 判断某一年是否闰年
    
    calendar.leapdays(2001, 1998) # leapdays # 获取指定年份之间的闰年的个数
    
    # month() 获取某个月的日历字符串
    # 格式:calendar.month(年,月)
    m = calendar.month(2018, 3)

    # monthrange() 获取一个月的周几开始和总天数
    # 格式:calendar.monthrange(年,月)
    # 回值:元组(周几开始,总天数),可以用x,y表示
    # 注意:周默认 0 -6 表示周一到周天
    w,t = calendar.monthrange(2017, 3)
    
    # weekday() 获取周几
    # 格式:calendar.weekday(年,月,日)
    # 返回值:周几对应的数字
    calendar.weekday(2018, 3, 26)
    
#========================time======================
# 一个时间表示,根据不同语言,可以是整数或者浮点数
# 时间戳是从1970年1月1日0时0分0秒到现在经历的秒数
# 32位操作系统能够支持到2038年

#时间元组
# 一个包含时间内容的普通元组
#    索引    内容     属性        值
#    0       年       tm_year     XXXX
#    1       月       tm_mon      1~12
#    2       日       tm_mday     1~31
#    3       时       tm_hour     0~23
#    4       分       tm_min      0~59
#    5       秒       tm_sec      0~61  60表示闰秒  61保留值
#    6       周几     tm_wday     0~6
#    7       第几天    tm_yday     1~366
#    8       夏令时    tm_isdst    0,1,-1(表示夏令时)
  
    import time
    # timezone # 当前时区和UTC时间相差的秒数,在没有夏令时的情况下的间隔,东八区的是 -28800             
    print(time.timezone) 
    # altzone  获取当前时区与UTC时间相差的秒数,在有夏令时的情况下,
    print(time.altzone)
    print(time.daylight) # daylight 测当前是否是夏令时时间状态, 0 表示是非夏令时
    
    #返回时间元祖
  t = time.localtime() # localtime, 得到当前时间的时间结构
  print(t.tm_hour) # 可以通过点号操作符得到相应的属性元素的内容 
  
    #返回时间戳
    time.time() # 得到当前时间的时间戳
    time.mktime(time.localtime)  # mktime(时间元组) 使用时间元组获取对应的时间戳

  # 返回默认字符串化的时间格式 例Tue Jun  6 11:11:00 2017
  time.ctime() # ctime # 获取字符串化的当前时间
  time.asctime(time.localtime) #asctime(时间元组) 返回元组的正常字符串化之后的时间格式
  
    # clock # 获取cpu时间, 3.0-3.3版本直接使用, 3.6调用有问题
    time.clock()
    
    # sleep # 使程序进入睡眠,n秒后继续
    time.sleep(1)
    
    # strftime:将时间元组转化为自定义的字符串格式
    # 格式  含义                        备注
    # %a      本地(locale)简化星期名称    
    # %A      本地完整星期名称    
    # %b      本地简化月份名称    
    # %B      本地完整月份名称    
    # %c      本地相应的日期和时间表示    
    # %d      一个月中的第几天(01 - 31)   
    # %H      一天中的第几个小时(24 小时制,00 - 23)   
    # %I      一天中的第几个小时(12 小时制,01 - 12)   
    # %j      一年中的第几天(001 - 366)  
    # %m      月份(01 - 12) 
    # %M      分钟数(00 - 59)    
    # %p      本地 am 或者 pm 的相应符    注1
    # %S      秒(01 - 61)  注2
    # %U      一年中的星期数(00 - 53 星期天是一个星期的开始)第一个星期天之前的所有天数都放在第 0 周   注3
    # %w      一个星期中的第几天(0 - 6,0 是星期天) 注3
    # %W      和 %U 基本相同,不同的是 %W 以星期一为一个星期的开始  
    # %x      本地相应日期  
    # %X      本地相应时间  
    # %y      去掉世纪的年份(00 - 99)    
    # %Y      完整的年份   
    # %z  用 +HHMM 或 -HHMM 表示距离格林威治的时区偏移(H 代表十进制的小时数,M 代表十进制的分钟数)      
    # %%  %号本身
    time.strftime("%Y年%m月%d日 %H:%M" , time.localtime()) # 把时间表示成, 2018年3月26日 21:05

#========================datetime======================
#提供日期和时间的运算和表示,  返回字符串化之后的时间格式
    import datetime
    # datetime常见属性
    # datetime.date # 一个理想和的日期,提供year, month, day属性
    datetime.date(2018,3,26)
    # datetime.time # 提供一个理想和的时间, 具有hour, minute,sec,microsec等内容
    datetime.time(12,2,2)
    # datetime.datetime # 提供日期跟时间的组合
    dt = datetime.datetime(2018, 3, 26[,hour, minute, second, microsecond, tzinfo])
    datetime.datetime.today() # 返回当前本地datetime.随着 tzinfo None. 
    datetime.datetime.now([tz]) # 返回当前本地日期和时间, 如果可选参数tz为None或没有详细说明,这个方法会像today().
    datetime.datetime.utcnow() # 返回当前的UTC日期和时间, 如果tzinfo None ,那么与now()类似. 
    datetime.datetime.fromtimestamp(timestamp[, tz]) # 根据时间戳返回本地的日期和时间.tz指定时区. 
    datetime.datetime.utcfromtimestamp(timestamp) # 根据时间戳返回 UTC 
    datetime.datetime.fromordinal(ordinal) # 根据Gregorian ordinal 返回datetime. 
    datetime.datetime.combine(date, time) # 根据date和time返回一个新的datetime. 
    datetime.datetime.strptime(date_string, format) # 根据date_string和format返回一个datetime.

    #实例方法
    dt.date() # 返回相同年月日的date对象. 
    dt.time() # 返回相同时分秒微秒的time对象. 
    dt.replace(kw) # kw in [year, month, day, hour, minute, second, microsecond, tzinfo], 与date类似. 类属性
    dt.min(MINYEAR, 1, 1) # datetime(MINYEAR, 1, 1). 
    dt.max(MAXYEAR, 12, 31, 23, 59, 59, 999999) # datetime(MAXYEAR, 12, 31, 23, 59, 59, 999999).

    #实例属性(read-only) 
    dt.year # 1 至 9999 
    dt.month # 1 至 12 
    dt.day # 1 至 n 
    dt.hour # In range(24). 0 至 23 
    dt.minute # In range(60). 
    dt.second # In range(60). 
    dt.microsecond # In range(1000000). `
    
    # datetime.timedelta # 提供一个时间差,时间长度,表示一个时间间隔
    t1 = datetime.datetime.now()
    td = datetime.timedelta(hours=1) # td表示以小时的时间长度
    print( (t1+td).strftime("%Y-%m-%d %H:%M:%S")) # 当前时间加上时间间隔后,得到一个小时后的时间格式化输出
    
#=========================timeit==========================
    # timeit-时间测量工具
    import timeit
    # 利用timeit调用代码,执行N次,返回运行时间
    t1 = timeit.timeit(stmt="[i for i in range(1000)]", number=100000 ) 
    t2 = timeit.timeit(stmt=c, number=100000)    # 测量代码c执行100000次运行结果

    # timeit 可以执行一个函数,来测量一个函数的执行时间 
    def doIt():
        pass 
    t3 = timeit.timeit(stmt=doIt,, number=10)

    # 测量一个带参数的函数的执行时间
    # setup负责把环境变量准备好
    # 实际相当于给timeit创造了一个小环境
    # 在创作的小环境中, 代码执行的顺序大致是
    # '''
    # def doIt(num):
    #     .....
    #     
    # num = 3
  # 
    # doIt(num)
    # '''
    s = '''
    def doIt(num):
        for i in range(num):
            print("Repeat for {0}".format(i))
    '''
    t = timeit.timeit("doIt(num)", setup=s+"num=3", number=10)

#=========================os - 操作系统相关==========================
    import os
    os.getcwd() # 获取当前的工作目录
    os.chdir('/home/tlxy')  #改变当前的工作目录
    os.listdir() # 获取一个目录中所有子目录和文件的名称列表
    os.makedirs(a/b/c...) # 当前的工作目录递归创建文件夹
    
    # 格式:os.system(系统命令)
    #  返回值:打开一个shell或者终端界面
    # 一般推荐使用subprocess代替
    rst = os.system("ls") # 返回 0
    
    #getenv() 获取指定的系统环境变量值,
    #  格式:os.getenv('环境变量名')
    #  返回值:指定环境变量名对应的值
    rst = os.getenv("path") 
    #相应的还有putenv()
    
    os.exit() 退出当前程序
    
    #值部分
    os.curdir # curretn dir,当前目录
    os.pardir # parent dir, 父亲目录
    os.sep # 当前系统的路径分隔符
    # windows: ""
    # linux: "/"
    os.linesep # 当前系统的换行符号
    # windows "\r\n"
    # unix,linux,macos "\n"
    os.name: 当前系统名称
    # windows: nt
    # mac,unix,linux: posix
    
    #os.path 模块, 跟路径相关的模块
    import os.path
    os.path.abspath(路径) #将路径转化为绝对路径;返回值:路径的绝对路径形式
    os.path.basename(路径) #获取路径中的文件名部分;返回值:文件名字符串
    os.path.join(路径1,路径2....,文件名) #将多个路径拼合成一个路径;返回值:组合之后的新路径字符串
    os.path.split(路径) #将路径切割为文件夹部分和当前文件部分;返回值:路径和文件名组成的元组
    os.path.isdir(路径) #检测是否是目录;返回值:布尔值
    os.path.exists(路径) #检测文件或者目录是否存在;返回值:布尔值
    
#=========================shutil 模块==========================
    import shutil
    shutil.copy('来源路径','目标路径') #复制文件,返回值:返回目标路径
    shutil.copy2('来源路径','目标路径') #同上,区别:保留元数据(文件信息)
    shutil.copyfile('源路径','目标路径') #将一个文件中的内容复制到另外一个文件当中,返回目标路径
    shutil.move('源路径','目标路径') #移动文件/文件夹,返回目标路径
    
    #归档和压缩
    #归档: 把多个文件或者文件夹合并到一个文件当中
    #压缩: 用算法把多个文件或者文件夹无损或者有损合并到一个文件当中
    shutil.make_archive('归档之后的目录和文件名','后缀','需要归档的文件夹') #归档操作;返回值:归档后的地址
    shutil.unpack_archive('归档文件地址','解包之后的地址') #解包操作;返回值:解包之后的地址
    
#=========================zipfile==========================
    import zipfile
    # 创建一个ZipFile对象,表示一个zip文件。
    #参数file表示文件的路径或类文件对象(file-like object);
    #参数mode指示打开zip文件的模式,默认值为’r’,表示读已经存在的zip文件,也可以为’w’或’a’,’w’表示新建一个zip文档或覆盖一个已经存在的zip文档,’a’表示将数据附加到一个现存的zip文档中。
    #参数compression表示在写zip文档时使用的压缩方法,它的值可以是zipfile. ZIP_STORED 或zipfile. ZIP_DEFLATED。如果要操作的zip文件大小超过2G,应该将allowZip64设置为True。
    zipfile.ZipFile(file[, mode[, compression[, allowZip64]]]) 
    #获取zip文档内指定文件的信息。返回一个zipfile.ZipInfo对象,它包括文件的详细信息。
    zipfile.getinfo(name) 
    zipfile.namelist() #获取zip文档内所有文件的名称列表。
    #解压zip文档中的所有文件到当前目录。
    #参数members的默认值为zip文档内的所有文件名称列表,也可以自己设置,选择要解压的文件名称。
    ZipFile.extractall([path[, members[, pwd]]])
    
#=========================random==========================
    import random
    random.random() # 返回0-1之间的随机小数
    random.choice(序列) # 随机返回序列中的某个值
    random.shuffle(列表) # 随机打乱列表
    random.randint(a,b) # 返回一个a到b之间的随机整数,包含a和b
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的体育馆管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本体育馆管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此体育馆管理系统利用当下成熟完善的SpringBoot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线选择试题并完成答题,在线查看考核分数。管理员管理收货地址管理、购物车管理、场地管理、场地订单管理、字典管理、赛事管理、赛事收藏管理、赛事评价管理、赛事订单管理、商品管理、商品收藏管理、商品评价管理、商品订单管理、用户管理、管理员管理等功能。体育馆管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:体育馆管理系统;SpringBoot框架;Mysql;自动化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值