首页 > 编程语言 > 详细

Python之第二十五天的努力--time、datetime、os模块

时间:2020-06-30 23:03:43      阅读:82      评论:0      收藏:0      [点我收藏+]

01 内容回顾

  • 自定义模块
  • 模块的两种执行方式
  • __name__ __file__ __all__
  • 模块导入的多种方式
  • 相对导入
  • random:
    • random.random():
    • random.uniform(a,b):
    • random.randint(a,b):
    • random.shuffle(x):
    • random.sample(x,k):

02 time模块:和时间相关

封装了获取时间戳和字符串形式的时间的一些方法。

  1. time模块的三大对象

    • 获取时间戳

      # 获取时间戳
      # 时间戳:从时间元年(1970 1 1 00:00:00)到现在经过的秒数。
      print(time.time())      # 1593496948.0449526。
      
    • 获取格式化事件对象:由九个字段组成的。

      # 获取格式化事件对象:由九个字段组成的。
      # 默认参数是当前系统时间的时间戳。
      print(time.gmtime())    # GMT:格林尼治时间
      # time.struct_time(tm_year=2020, tm_mon=6, tm_mday=30, tm_hour=6, tm_min=13, tm_sec=22, tm_wday=1, tm_yday=182, tm_isdst=0)
      
      print(time.localtime()) # 当地时间
      # time.struct_time(tm_year=2020, tm_mon=6, tm_mday=30, tm_hour=14, tm_min=17, tm_sec=0, tm_wday=1, tm_yday=182, tm_isdst=0)
      
      print(time.gmtime(1))   # 时间元年过一秒后,对应的时间对象
      # time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=1, tm_wday=3, tm_yday=1, tm_isdst=0)
      
    • 时间对象 --> 时间戳

      # 时间对象 --> 时间戳
      print(time.mktime(time.localtime()))
      
    • 格式化事件对象和字符串之间的转换

      # 格式化事件对象和字符串之间的转换
      s = time.strftime("%Y %m %d %H:%M:%S",)
      print(s)            # 2020 06 30 14:25:23
      
    • 把时间字符串转换成时间对象

      # 把时间字符串转换成时间对象
      s = time.strptime("2010 10 10","%Y %m %d")
      print(s)
      
技术分享图片
  1. 睡眠

    # 暂停当前程序,睡眠xxx秒
    # time.sleep(xxx)
    for i in range(5):
        print(time.strftime(‘%Y-%m-%d %H:%M:%S‘))
        # 休眠2秒
        time.sleep(2)
    
    # 2020-06-30 15:00:49
    # 2020-06-30 15:00:51
    # 2020-06-30 15:00:53
    # 2020-06-30 15:00:55
    # 2020-06-30 15:00:57
    

03 datetime模块

  1. data类

    # date类:
    d = datetime.date(2010,10,10)
    print(d)            # 2010-10-10
    # 获取date对象的各个属性
    print(d.year)
    print(d.month)
    print(d.day)
    
  2. time类

    # time类:
    t = datetime.time(15,8,50)
    print(t)
    # 获取time对象的各个属性
    print(t.hour)
    print(t.minute)
    print(t.second)
    
  3. datetime

    # datetime
    dt = datetime.datetime(2020,6,30,15,30,50)
    print(dt)           # 2020-06-30 15:30:50
    
  4. datetime用于数学计算

    # datetime中的类,主要用于数学计算。
    # timedelta:时间的变化量
    td1 = datetime.timedelta(days=1)
    print(td1)           # 1 day, 0:00:00
    # 参与数学运算
    # 创建时间对象:
    # 只能和date,datetime,timedelta进行计算
    d1 = datetime.date(2010,10,10)
    res1 = d1 + td1
    print(res1)          # 2010-10-11
    
    # 时间变化量的计算是否会产生进位?
    t2 = datetime.datetime(2010,10,10,10,10,59)
    td2 = datetime.timedelta(seconds=3)
    res2 = t2 + td2
    print(res2)          # 2010-10-10 10:11:02
    
  5. 练习

    # 练习:计算某一年的二月份有多少天。
    # 普通算法:根据年份计算是否是闰年,是:29,否:28
    
    # 用datetime模块。
    # 首先创建出指定的年份的3月1号,然后让他往前走一天。
    year = int(input(‘输入年份:‘))
    # 创建指定年份的date对象
    d = datetime.date(year,3,1)
    # 创建一天 的时间段
    td = datetime.timedelta(days=1)
    res = d -td
    print(res.day)
    

04 os模块

  1. 和文件操作相关,重命名,删除

    import os
    # 和文件操作相关,重命名,删除
    # os.remove(‘a.txt‘)
    
    # os.rename(‘a.txt‘,‘b.txt‘)
    
    # 删目录,必须是空目录才能删
    # os.removedirs(‘aa‘)
    
    # 使用shutil模块,可以删除带内容的目录
    # import shutil
    # shutil.rmtree(‘aa‘)
    
  2. 和路径相关的操作,被封装到另一个子模块中:os.path

    • os.path.dirname()

      # 当前路径的父路径
      res = os.path.dirname(r‘d:/aaa/bbb/ccc/a.txt‘)        # 不判断路径是否存在
      print(res)                                            # d:/aaa/bbb/ccc
      
    • os.path.basename()

      # # 获取文件名
      res = os.path.basename(r‘d:/aaa/bbb/ccc/a.txt‘)
      print(res)                                          # a.txt
      
    • os.path.split()

      # 把路径中的路径名和文件名切分开,结果是元祖。
      res = os.path.split(r‘d:/aaa/bbb/ccc/a.txt‘)
      print(res)                                          # (‘d:/aaa/bbb/ccc‘, ‘a.txt‘)
      
    • os.path.join()

      # 路径拼接
      # path = os.path.join(‘d:\\‘,‘aaa‘,‘bbb‘,‘ccc‘,‘a.txt‘)
      # print(path)                                         # d:\aaa\bbb\ccc\a.txt
      
    • os.path.abspath()

      # 如果是/开头的路径,默认是在当前盘符下。
      res1 = os.path.abspath(r‘/a/b/c‘)
      print(res1)                      # E:\a\b\c
      # 如果不是以/开头,默认当前路径
      res2 = os.path.abspath(r‘a/b/c‘)
      print(res2)                     # E:\pycharm\Python世界\从0开始学Python\day15\a\b\c
      
    • os.path.isabs()

      # 判断是不是绝对路径
      print(os.path.isabs(‘d:/a.txt‘))    # True
      print(os.path.isabs(‘a.txt‘))       # False
      
    • os.path.isdir()

      # 判断是不是目录,去找,不存在为False
      print(os.path.isdir())
      
    • os.path.exists()

      # 判断是否存在
      print(os.path.exists())
      
    • os.path.isfile()

      # 判断是不是文件,没有False
      print(os.path.isfile())
      

Python之第二十五天的努力--time、datetime、os模块

原文:https://www.cnblogs.com/szheng/p/13216081.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!