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
  • 相关阅读:
    poj 2584 T-Shirt Gumbo (二分匹配)
    hdu 1757 A Simple Math Problem (乘法矩阵)
    矩阵之矩阵乘法(转载)
    poj 2239 Selecting Courses (二分匹配)
    hdu 3661 Assignments (贪心)
    hdu 1348 Wall (凸包)
    poj 2060 Taxi Cab Scheme (二分匹配)
    hdu 2202 最大三角形 (凸包)
    hdu 1577 WisKey的眼神 (数学几何)
    poj 1719 Shooting Contest (二分匹配)
  • 原文地址:https://www.cnblogs.com/foxshu/p/12040244.html
Copyright © 2011-2022 走看看