Python基础之time、os模块

ⅰ亾dé卋堺 提交于 2019-12-16 13:19:04

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:\python\week4

  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:\python\week4\集合
6 F:\python\week4
7 F:\python

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

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

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

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

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

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

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

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

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

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

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

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

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

4)查看文件时间

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

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

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

1 import os
2 print(os.path.getmtime('F:\python\week4\集合'))
3 print(os.path.getatime('F:\python\week4\集合'))
4 print(os.path.getctime('F:\python\week4\集合'))
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:\python\week4\demo.txt
 9 F:\python\week4\logging模块.py
10 F:\python\week4\set.py
11 F:\python\week4\staff_file.txt
12 F:\python\week4\str.py
13 F:\python\week4\user_name
14 F:\python\week4\三级菜单.py
15 F:\python\week4\员工信息增删改查程序.py
16 F:\python\week4\员工信息增删改查程序(列表版).py
17 F:\python\week4\字典.py
18 F:\python\week4\字符串
19 F:\python\week4\异常处理.py
20 F:\python\week4\文件操作.py
21 F:\python\week4\文件操作相关模块.py
22 F:\python\week4\检测.py
23 F:\python\week4\模块.py
24 F:\python\week4\登录认证.py
25 F:\python\week4\练习.py
26 F:\python\week4\装饰器.py
27 F:\python\week4\集合
28 F:\python\week4\面向对象.py
29 F:\python\week4\面向对象内置方法.py
View Code
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!