常用模块之time,datetime,random,os,sys,subprocess模块

1.时间模块time

time的计算时间是以1970年的元旦开始的
time模块时间的三种格式:
	1.时间戳(常用于时间的计算加减)
	2.格式化时间(通过format来规定显示的时间格式)
	3.结构化时间(以元组的形式表示)

使用方法

import time
1.#时间戳形式的时间
time = time.time()
1608887368.7554362
2.#结构化时间格式
time = time.localtime() #当地的结构化时间
# time.struct_time(tm_year=2020, tm_mon=12, tm_mday=25, tm_hour=17, tm_min=12, tm_sec=2, tm_wday=4, tm_yday=360, tm_isdst=0)
time = time.gmtime() #全世界的时间格式
# time.struct_time(tm_year=2020, tm_mon=12, tm_mday=25, tm_hour=9, tm_min=12, tm_sec=30, tm_wday=4, tm_yday=360, tm_isdst=0)
3.#格式化的时间格式
time = time.strftime('%Y-%m-%d-%H-%M-%S')
2020-12-25-17-15-02

格式化时间的具体格式(参考内置模块注释)

Commonly used format codes:
    
    %Y  Year with century as a decimal number.
    %m  Month as a decimal number [01,12].
    %d  Day of the month as a decimal number [01,31].
    %H  Hour (24-hour clock) as a decimal number [00,23].
    %M  Minute as a decimal number [00,59].
    %S  Second as a decimal number [00,61].
    %z  Time zone offset from UTC.
    %a  Locale's abbreviated weekday name.
    %A  Locale's full weekday name.
    %b  Locale's abbreviated month name.
    %B  Locale's full month name.
    %c  Locale's appropriate date and time representation.
    %I  Hour (12-hour clock) as a decimal number [01,12].
    %p  Locale's equivalent of either AM or PM.'''
'''

三种格式之间的相互转化

相互转化

格式化的字符串时间和时间戳不能够相互转换必须通过结构化的时间才可以相互转化
# 1.将时间戳格式化
timestamp = time.time()
struct_time = time.localtime(timestamp)
format_time = time.strftime('%Y-%m-%d-%H-%M-%S',struct_time)
# 2.将格式化的时间转为时间戳
format_time = time.strftime('%Y-%m-%d-%H-%M-%S')
struct_time = time.strptime(format_time,'%Y-%m-%d-%H-%M-%S')
timestamp = time.mktime(stru

结构化时间和时间戳直接转为格式化时间

图片
能够将时间戳和结果化的时间直接转为固定格式的格式时间

# 1.时间戳转化为格式化时间
timestamp = time.time()
format_time = time.ctime(timestamp)
# Fri Dec 25 17:28:24 2020
# 2.将结构化时间直接转为格式化时间
struct_time = time.localtime()
format_time = time.asctime(struct_time)
print(format_time)
# Fri Dec 25 17:29:18 2020

time.sleep

睡眠操作

2.时间模块datatime

datatime能够直接支持格式化的时间进行相关操作

import datetime
time = datetime.datetime.now() # 拿到当前的时间
print(time)
# 2020-12-25 17:32:23.856205 
#print(datetime.date.fromtimestamp(time.time()) )  # 时间戳直接转成日期格式 2016-08-19
print(datetime.datetime.now() + datetime.timedelta(3)) # 如果不传入参数则默认为天数
加减周数
print(datetime.datetime.now() + datetime.timedelta(weeks=7))
加减小时
print(datetime.datetime.now() + datetime.timedelta(hours=7))
加减秒
时间替代:
a = datetime.datetime.now()
print(a.replace(day=3,hour=2,minute=2))
2020-12-03 02:02:29.637263
能够加减以下操作:
            days: float = ...,
            seconds: float = ...,
            microseconds: float = ...,
            milliseconds: float = ...,
            minutes: float = ...,
            hours: float = ...,
            weeks: float = ...,

3.随机模块random

import random

print(random.random())#(0,1)----float    大于0且小于1之间的小数

print(random.randint(1,3))  #[1,3]    大于等于1且小于等于3之间的整数

print(random.randrange(1,3)) #[1,3)    大于等于1且小于3之间的整数

print(random.choice([1,'23',[4,5]]))#1或者23或者[4,5]

print(random.sample([1,'23',[4,5]],2))#列表元素任意2个组合

print(random.uniform(1,3))#大于1小于3的小数,如1.927109612082716


item=[1,3,5,7,9]
random.shuffle(item) #打乱item的顺序,相当于"洗牌"
print(item)

4.os模块

os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname")  改变当前脚本工作目录;相当于shell下cd
os.curdir  返回当前目录: ('.')
os.pardir  获取当前目录的父目录字符串名:('..')
os.makedirs('dirname1/dirname2')    可生成多层递归目录
os.removedirs('dirname1')    若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir('dirname')    生成单级目录;相当于shell中mkdir dirname
os.rmdir('dirname')    删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.listdir('dirname')    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove()  删除一个文件
os.rename("oldname","newname")  重命名文件/目录
os.stat('path/filename')  获取文件/目录信息
os.sep    输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep    输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
os.pathsep    输出用于分割文件路径的字符串 win下为;,Linux下为:
os.name    输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
os.system("bash command")  运行shell命令,直接显示
os.environ  获取系统环境变量
os.path.abspath(path)  返回path规范化的绝对路径
os.path.split(path)  将path分割成目录和文件名二元组返回
os.path.dirname(path)  返回path的目录。其实就是os.path.split(path)的第一个元素
os.path.basename(path)  返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path)  如果path是绝对路径,返回True
os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False
os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False
os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getatime(path)  返回path所指向的文件或者目录的最后存取时间
os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间
os.path.getsize(path) 返回path的大小
os路径处理
#方式一:推荐使用
import os
#具体应用
import os,sys
possible_topdir = os.path.normpath(os.path.join(
    os.path.abspath(__file__),
    os.pardir, #上一级
    os.pardir,
    os.pardir
))
sys.path.insert(0,possible_topdir)


#方式二:
os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

5.sys模块

 sys.argv           命令行参数List,第一个元素是程序本身路径
2 sys.exit(n)        退出程序,正常退出时exit(0)
3 sys.version        获取Python解释程序的版本信息
4 sys.maxint         最大的Int值
5 sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
6 sys.platform       返回操作系统平台名称

5. subprocess模块

是用在专门向操作系统发指令的模块

import subprocess
res = subprocess.Popen(r'tasklist',shell=True,
                       stdout=subprocess.PIPE,stderr=subprocess.PIPE)
right_res = res.stdout.read().decode('gbk')
error_res = res.stderr.read().decode('gbk')

print(right_res)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值