zoukankan      html  css  js  c++  java
  • Python基础之time、os模块

    1.时间模块

    1)模块

      python安装好之后,会有一些默认模块,我们称之为标准库,标准库中的模块python自带,无需安装。

      除了标准库,还有一个第三方库,可以通过pip来安装,不同的库有不同的功能。

    2)常用的时间表示方式

      时间戳:时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。

      格式化时间字符串:自定义格式化时间格式。

      元组,即struct_time:表示为这种形式:Sat Dec 14 16:30:13 2019。

    3)time()

      返回当前时间的时间戳

    1 import time
    2 print(time.time())
    3 结果:
    4 1576312406.635578

    4)localtime()

      将时间戳转化为当地时区的时间,未传参数时默认当前时间戳,我国为8时区。

    1 import time
    2 print(time.localtime())
    3 print(time.localtime(1576312406.635578))
    4 结果:
    5 time.struct_time(tm_year=2019, tm_mon=12, tm_mday=14, tm_hour=16, tm_min=35, tm_sec=51, tm_wday=5, tm_yday=348, tm_isdst=0)
    6 time.struct_time(tm_year=2019, tm_mon=12, tm_mday=14, tm_hour=16, tm_min=33, tm_sec=26, tm_wday=5, tm_yday=348, tm_isdst=0)

    5)gmtime()

      将时间戳转化为UTC时区(0时区)的时间,与localtime()相同。

    1 import time
    2 print(time.gmtime())
    3 结果:
    4 time.struct_time(tm_year=2019, tm_mon=12, tm_mday=14, tm_hour=8, tm_min=41, tm_sec=2, tm_wday=5, tm_yday=348, tm_isdst=0)

    6)mktime()

      将一个时间转化为时间戳,与localtime()相反。

    1 import time
    2 print(time.mktime(time.localtime()))
    3 结果:
    4 1576313076.0

    7)asctime()

      将当前时间转化为规定格式(struct_time)时间,即 星期 月 日 时 分 秒 年 格式。

    1 import time
    2 print(time.asctime())
    3 结果:
    4 Sat Dec 14 16:47:08 2019

    8)ctime()

      将时间戳转化为asctime()规定格式时间,未指定参数或为None时,默认为当前时间戳。

    1 import time
    2 print(time.ctime())
    3 结果:
    4 Sat Dec 14 16:52:28 2019

    9)strftime()

      将一个代表时间的元组转化为格式化的时间字符串,自定义输出格式。

    1 import time
    2 print(time.strftime("%Y-%m-%d %X"))
    3 结果:
    4 2019-12-14 16:59:43
    常用的格式化字符串
    %a 显示简化星期名称
    %A 显示完整星期名称
    %b 显示简化月份名称
    %B 显示完整月份名称
    %c 本地相应的日期和时间表示
    %d 显示当月第几天
    %H 按24小时制显示小时
    %I 按12小时制显示小时
    %j 显示当年第几天
    %m 显示月份
    %M 显示分钟数)
    %p 本地am或者pm的相应符
    %S 显示秒数)
    %U 一年中的星期数
    %w 显示在星期中的第几天,默认从0开始表示周一
    %W 和%U基本相同
    %x 本地相应日期
    %X 本地相应时间
    %y 去掉世纪的年份(00 - 99)
    %Y 完整的年份
    %Z 时区的名字(如果不存在为空字符)
    %% ‘%’字符

    10)sleep()

      线程推迟指定时间运行。

    1 import time
    2 t = time.time()
    3 time.sleep(1)
    4 t1 = time.time()
    5 print(t1-t)
    6 结果:
    7 1.0014095306396484

     2.os模块

    1)查看当前路径及路径下的文件

      os.getcwd(),查看当前路径。

    1 import os
    2 print(os.getcwd())
    3 结果:
    4 F:pythonweek4

      os.listdir(),以列表类型得到当前路径下的所有文件。

    1 import os
    2 print(os.listdir())
    3 结果:
    4 ['demo.txt', 'logging模块.py', 'set.py', 'staff_file.txt', 'str.py', 'user_name', '三级菜单.py', '员工信息增删改查程序.py', '员工信息增删改查程序(列表版).py', '字典.py', '字符串', '异常处理.py', '文件操作.py', '文件操作相关模块.py', '检测.py', '模块.py', '登录认证.py', '练习.py', '装饰器.py', '集合', '面向对象.py', '面向对象内置方法.py']

    2)绝对路径

      os.path.abspath(),可通过文件名返回此文件的绝对路径,也可通过"."返回上一级路径。

    1 print(os.path.abspath('集合'))
    2 print(os.path.abspath('.'))
    3 print(os.path.abspath('..'))
    4 结果:
    5 F:pythonweek4集合
    6 F:pythonweek4
    7 F:python

    3)查看路径的文件夹部分和文件名部分

      os.path.split()将文件夹和文件名分开,用元组接收。

    1 import os
    2 print(os.path.split('F:pythonweek4集合'))
    3 结果:
    4 ('F:\python\week4', '集合')

      如果路径最后不是文件名,而是"\",则只有文件夹部分有值。

    1 import os
    2 print(os.path.split('F:pythonweek4集合\'))
    3 结果:
    4 ('F:\python\week4\集合', '')

      os.path.join()将文件夹和文件名组合成绝对路径,如果文件名部分是绝对路径,则以文件名部分为准。

     1 import os
     2 print(os.path.join( 'F:\python\week4','集合'))
     3 结果:
     4 F:pythonweek4集合
     5 
     6 *****分割线*****
     7 
     8 import os
     9 print(os.path.join('F:\python\week4', 'F:\python\week2\模块'))
    10 结果:
    11 F:pythonweek2模块

      用for循环获取当前路径下的所有文件的绝对路径。

     1 import os
     2 for filename in os.listdir():
     3     print(os.path.join(os.getcwd(),filename))
     4 结果:
     5 F:pythonweek4demo.txt
     6 F:pythonweek4logging模块.py
     7 F:pythonweek4set.py
     8 F:pythonweek4staff_file.txt
     9 F:pythonweek4str.py
    10 F:pythonweek4user_name
    11 F:pythonweek4三级菜单.py
    12 F:pythonweek4员工信息增删改查程序.py
    13 F:pythonweek4员工信息增删改查程序(列表版).py
    14 F:pythonweek4字典.py
    15 F:pythonweek4字符串
    16 F:pythonweek4异常处理.py
    17 F:pythonweek4文件夹
    18 F:pythonweek4文件操作.py
    19 F:pythonweek4文件操作相关模块.py
    20 F:pythonweek4检测.py
    21 F:pythonweek4模块.py
    22 F:pythonweek4登录认证.py
    23 F:pythonweek4练习.py
    24 F:pythonweek4装饰器.py
    25 F:pythonweek4集合
    26 F:pythonweek4面向对象.py
    27 F:pythonweek4面向对象内置方法.py
    View Code

      os.path.dirname(),查看文件夹部分

    1 import os
    2 print(os.path.dirname('F:pythonweek4集合'))
    3 结果:
    4 F:pythonweek4

      os.path.basename,查看文件名部分

    1 import os
    2 print(os.path.basename('F:pythonweek4集合'))
    3 结果:
    4 集合

    4)查看文件时间

      os.path.getmtime(),查看最后修改的时间,返回一个时间戳

      os.path.getatime(),查看最后访问的时间,返回一个时间戳

      os.path.getctime(),查看最后创建的时间,返回一个时间戳

    1 import os
    2 print(os.path.getmtime('F:pythonweek4集合'))
    3 print(os.path.getatime('F:pythonweek4集合'))
    4 print(os.path.getctime('F:pythonweek4集合'))
    5 结果:
    6 1574662641.4870007
    7 1574752936.2544076
    8 1574662641.4867516

    5)查看文件大小

      os.path.getsize(),若是文件则返回数值大小,若是文件夹则返回0。

    1 import os
    2 print(os.path.getsize('F:\python\week4\集合'))
    3 print(os.path.getsize('F:\python\week4\文件夹'))
    4 结果:
    5 2793
    6 0

    6)查看文件是否存在

      os.path.exists(),如文件存在返回True,不存在返回False。

    1 import os
    2 print(os.path.exists('F:\python\week4\集合'))
    3 print(os.path.exists('F:\python\week4\集合a'))
    4 结果:
    5 True
    6 False

      os.path.isfile()判断是否是文件。

    1 import os
    2 print(os.path.isfile('集合'))
    3 print(os.path.isfile('文件夹'))
    4 结果:
    5 True
    6 False

    7)遍历文件夹

      遍历文件夹,输出所有文件和文件夹,如果加上判断文件,可以筛选出文件夹中的所有文件,只遍历出文件。

     1 week4_path = 'F:\python\week4'
     2 filename_list = os.listdir(week4_path)
     3 for i in range(len(filename_list)):
     4     file_path = os.path.join(week4_path,filename_list[i])
     5     if os.path.isfile(file_path):
     6         print(file_path)
     7 结果:
     8 F:pythonweek4demo.txt
     9 F:pythonweek4logging模块.py
    10 F:pythonweek4set.py
    11 F:pythonweek4staff_file.txt
    12 F:pythonweek4str.py
    13 F:pythonweek4user_name
    14 F:pythonweek4三级菜单.py
    15 F:pythonweek4员工信息增删改查程序.py
    16 F:pythonweek4员工信息增删改查程序(列表版).py
    17 F:pythonweek4字典.py
    18 F:pythonweek4字符串
    19 F:pythonweek4异常处理.py
    20 F:pythonweek4文件操作.py
    21 F:pythonweek4文件操作相关模块.py
    22 F:pythonweek4检测.py
    23 F:pythonweek4模块.py
    24 F:pythonweek4登录认证.py
    25 F:pythonweek4练习.py
    26 F:pythonweek4装饰器.py
    27 F:pythonweek4集合
    28 F:pythonweek4面向对象.py
    29 F:pythonweek4面向对象内置方法.py
    View Code
  • 相关阅读:
    springcloud之配置中心和消息总线(配置中心终结版)
    yaml
    RESTful API
    单元测试Junit5
    IDEA社区版创建web项目
    Mybatis常见面试题
    mybatis逆向工程
    mybatis注解
    延迟加载
    缓存
  • 原文地址:https://www.cnblogs.com/foxshu/p/12040244.html
Copyright © 2011-2022 走看看