python常用模块
- 时间处理模块
①.time.time()
返回当前时间的时间戳
import time
print(time.time())
# 1574652754.937095
datetime主要由五个模块组成:
1.datetime.date:表示日期的类。常用的属性有year, month, day。
2.datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond。
3.datetime.datetime:表示日期+时间。
4.datetime.timedelta:表示时间间隔,即两个时间点之间的长度,常常用来做时间的加减。
5.datetime.tzinfo:与时区有关的相关信息。
②.datetime.datetime
MINYEAR <= year <= MAXYEAR
1 <= month <= 12
1 <= day <= number of days in the given month and year
0 <= hour < 24
0 <= minute < 60
0 <= second < 60
0 <= microsecond < 1000000
这是datetime.datetime参数的取值范围,如果设定的值超过这个范围,那么就会抛出ValueError异常。
import datetime
print(datetime.datetime(year=2019, month=1, day=1, hour=12))
#2019-01-01 12:00:00
③.datetime类方法
这些方法大多数用来生成一个datetime对象。
classmethod datetime.today()
获取今天的时间。
print(datetime.datetime.today())
#2019-11-18 11:38:45.629588
classmethod datetime.now(tz=None)
获取当前的时间。
print(datetime.datetime.now())
#2019-11-18 11:40:00.597055
④.datetime实例方法
datetime.date() 和 datetime.time()
获取datetime对象的日期或者时间部分。
In [1]: datetime.datetime.now().date()
Out[1]: datetime.date(2019, 11, 10)
In [1]: datetime.datetime.now().time()
Out[1]: datetime.time(15, 24, 37, 355514)
替换datetime对象的指定数据
In [1]: now = datetime.datetime.now()
In [2]: now
Out[2]: datetime.datetime(2018, 7, 2, 15, 26, 45, 116239)
In [3]: now.replace(year=2000)
Out[3]: datetime.datetime(2000, 7, 2, 15, 26, 45, 116239)
datetime.timestamp()
转换成时间戳
print(datetime.datetime.now().timestamp())
# 1574735307.67153
datetime.weekday()
返回一个值,表示日期为星期几。
0为星期一,6为星期天
In [1]: datetime.datetime.now().weekday()
Out[1]: 1
⑤.datetime.timedelta
对时间进行加减
In [1]: now = datetime.datetime.now()
In [1]: now
Out[1]: datetime.datetime(2019, 11, 16, 10, 40, 2, 847175)
In [2]: now - datetime.timedelta(days=1)
Out[2]: datetime.datetime(2019, 11, 15, 10, 39, 47, 771030)
⑥.strftime() 和 strptime()
datetime中提供了两个方法,可以方便的把datetime对象转换成格式化的字符串或者把字符串转换成datetime对象。
由datetime转换成字符串:datetime.strftime()
strftime()是datetime对象的实例方法:
In [1]: datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S %f')
Out[1]:'2019-11-16 10:43:51 176420'
由字符串转换成datetime:datetime.datetime.strptime()
strptime()则是一个类方法:
In [1]: newsTime='Sun, 23 Apr 2017 05:15:05 GMT'
In [2]: GMT_FORMAT = '%a, %d %b %Y %H:%M:%S GMT'
In [3]: datetime.datetime.strptime(newsTime,GMT_FORMAT)
Out[3]: datetime.datetime(2017, 4, 23, 5, 15, 5)
目录操作模块
- 获取当前工作目录
import sys
print(sys.path[0])
# /Users/wentingmen/PycharmProjects/untitled
- 获取执行命令的位置
import os
print(os.getcwd())
- 路径拼接
import os
os.path.join('/Users/pangao', 'test.txt')
# /Users/pangao/test.txt'
- 路径拆分
import os
os.path.split('/Users/pangao/test.txt')
# ('/Users/pangao/', 'test.txt')
os.path.splitext('/Users/pangao/test.txt')
# ('/Users/pangao/test', '.txt')
可以直接获取文件扩展名
- 文件重命名
os.rename('test.txt', 'test.py')
- 删除文件
os.remove('test.txt')
- 复制文件
import shutil
shutil.copyfile('test.txt', 'test.py')
- 遍历文件夹下的文件
方法1
import os
for filename in os.listdir('./'):
print(filename)
方法2
import glob
for filename in glob.glob('*.py'):
print(filename)
方法3
import os
for fpathe, dirs, fs in os.walk('./'):
print(fpathe)
print(dirs)
print(fs)
for f in fs:
print(os.path.join(fpathe, f))
- 判断文件是否存在
import os
os.path.isfile('test.txt') # 如果不存在就返回False
- 判断目录是否存在
import os
os.path.exists(directory) #如果目录不存在就返回False
网友评论