python内置模块重要程度排名_python内置模块

内置模块

在python中内置了很多模块,无须额外配置就可使用。

模块和目录的区别:是否有__init__.py文件,若无则是目录,有则是模块。

datetime

datetime是进行日期和时间处理的标准库。

获取当前时间和日期1

2

3

4

5

6

7from datetime import datetime

nowtime = datetime.now()

print(nowtime) #输出结果:2018-04-23 22:55:05.386948

print(type(nowtime)) #输出结果:

print(datetime.now().year) #输出结果:2018

print(datetime.now().month) #输出结果:4

print(datetime.now().day) #输出结果:23

datetime是一个模块,其中包含datetime类,我们使用的是datetime.now()中是datetime这个类。

通过from datetime import datetime导入的才是datetime类,若仅导入import datetime,则需要使用datetime.datetime.now()方式使用。

datetime.now()返回的是当前日期和时间,类型为datetime。

格式转换指定日期和时间

1

2from datetime import datetime

print(datetime(2018, 8, 12, 11, 30)) #输出结果:2018-08-12 11:30:00

datetime转换为str

使用datetime.strftime()实现

1

2from datetime import datetime

print(datetime.now().strftime("%Y-%m-%d %H:%M:%S")) #输出结果:2018-04-23 23:18:10

str转换为datetime

使用datetime.strptime()实现

1

2from datetime import datetime

print(datetime.strptime('2018-04-20 18:30:00', '%Y-%m-%d %H:%M:%S')) #输出结果:2018-04-20 18:30:00

datetime转换为timestamp

timestamp也就是常说的时间戳,表示自1970-01-01 00:00:00 UTC+00:00以来的秒数。

使用timestamp()实现

1

2from datetime import datetime

print(datetime.now().timestamp()) #输出结果:1524497381.170269

timestamp转换为datetime

使用fromtimestamp实现

1

2

3from datetime import datetime

print(datetime.fromtimestamp(1524497333.38282)) #输出结果:2018-04-23 23:28:53.382820

print(datetime.utcfromtimestamp(1524497333.38282)) #输出结果:2018-04-23 15:28:53.382820

此处fromtimestamp转换之后的datetime默认为本地时间,也就是计算机配置的时区对应的时间(本机为UTC+8:00)。

使用utcfromtimestamp转换之后的datetime为UTC标准时区的时间

datetime加减

对日期进行向前或者向后的推算,使用timedelta类1

2

3

4

5

6

7from datetime import datetime

from datetime import timedelta

print(datetime.now()) #输出结果:2018-04-23 23:41:12.694505

print(datetime.now() + timedelta(hours=2)) #输出结果:2018-04-24 01:41:12.694505

print(datetime.now() - timedelta(hours=2)) #输出结果:2018-04-23 21:41:12.694505

print(datetime.now() - timedelta(weeks=1)) #输出结果:2018-04-16 23:41:12.694505

print(datetime.now() + timedelta(days=1)) #输出结果:2018-04-24 23:41:12.694505

timedelta后面的参数还有minutes、seconds、microseconds。

python中常用的日期时间格式化符号1

2

3

4

5

6

7

8

9%y 两位数的年份表示(00-99)

%Y 四位数的年份表示(000-9999)

%m 月份(01-12)

%d 月内中的一天(0-31)

%H 24小时制小时数(0-23)

%I 12小时制小时数(01-12)

%M 分钟数(00=59)

%S 秒(00-59)

%c 本地相应的日期表示和时间表示

更多的格式化符号点击查看。

time

在time模块中,函数gmtime()、localtime()和strptime()以时间元组struct_time形式返回。

首先介绍时间元组的表示格式

struct_time

时间格式time.struct_time(tm_year=2018, tm_mon=4, tm_mday=24, tm_hour=9, tm_min=3, tm_sec=26, tm_wday=1, tm_yday=114, tm_isdst=0)

索引值|属性|值

-|:-:|:-:

0|tm_year|年(如2015)

1|tm_mon|月,1-12

2|tm_mday|日,1-31

3|tm_hour|时,0-23

4|tm_min|分,0-59

5|tm_sec|秒,0-61

6|tm_wday|星期,0-6(0表示星期一)

7|tm_yday|一年中第几天(1-266)

8|tm_isdst|是否为夏令时。0,1,-1

说明

tm_sec取值范围为0-61是考虑了闰秒和双闰秒的因素。

tm_isdst中,使用夏令时为1,不使用夏令时为0,当不确定是否使用夏令时为-1。

夏令时(DST,Daylight Saving Time)指利用夏天天亮的早,人为的将时间提前一小时,以充分利用光照资源减少照明时间,从而节约照明。

time.time()

返回当前时间的时间戳。1

2import time

print(time.time()) #输出结果:1524531805.2834768

time.sleep()

线程推迟指定的时间运行,单位为秒。

time.clock()

在unix系统,返回进程时间,用秒表示的浮点数(时间戳)。

在windows系统,第一次调用返回的是进程运行的时间,第二次之后调用均返回自第一次调用以后到现在的运行时间。1

2

3

4

5

6import time

print(time.clock()) #输出结果:4.105467826269739e-07

time.sleep(1) #线程推迟1秒运行

print(time.clock()) #输出结果:1.0005993983026353

time.sleep(1)

print(time.clock()) #输出结果:1.9998817625266034

time.localtime([secs)

将一个时间戳转换为当前时区的struct_time,若未提供secs参数,返回当前时间的struct_time。1

2

3

4

5import time

print(time.localtime())

#输出结果:time.struct_time(tm_year=2018, tm_mon=4, tm_mday=24, tm_hour=9, tm_min=43, tm_sec=22, tm_wday=1, tm_yday=114, tm_isdst=0)

print(time.localtime(1304575584.1361799))

#输出结果:time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=14, tm_min=6, tm_sec=24, tm_wday=3, tm_yday=125, tm_isdst=0)

time.gmtime([secs])

将一个时间戳转换为UTC时区的struct_time,若未提供secs参数,返回当前时间的对应的UTC时区struct_time。1

2

3

4

5import time

print(time.gmtime())

#输出结果:time.struct_time(tm_year=2018, tm_mon=4, tm_mday=24, tm_hour=1, tm_min=46, tm_sec=28, tm_wday=1, tm_yday=114, tm_isdst=0)

print(time.gmtime(1304575584.1361799))

#输出结果:time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=6, tm_min=6, tm_sec=24, tm_wday=3, tm_yday=125, tm_isdst=0)

time.mktime(t)

将一个struct_time转换为时间戳。1

2import time

print(time.mktime(time.localtime())) #输出结果:1524534556.0

time.asctime([t])

把一个表示时间的元组或者struct_time表示为Sun Jun 20 23:21:05 1993形式,若没有参数,将会time.localtime()作为参数传入。1

2import time

print(time.asctime(time.localtime())) #输出结果:Tue Apr 24 09:53:03 2018

time.ctime([secs])

把一个时间戳转换为Sun Jun 20 23:21:05 1993形式,若没有参数或None的时候,默认将time.time()作为参数。1

2

3import time

print(time.ctime()) #输出结果:Tue Apr 24 09:55:15 2018

print(time.ctime(1304575584.1361799)) #输出结果:Thu May 5 14:06:24 2011

time.strftime(format[,t])

把一个表示时间的元组或者struct_time转换为格式化的时间字符串。如果未指定t(也就是表示时间的元组),传入time.localtime()。如果元组中的任何一个元素越界,ValueError错误将会被抛出。1

2import time

print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) #输出结果:2018-04-24 10:00:14

time.strptime(string[,format])

把一个格式化时间字符串转换为struct_time。也就是strftime()的逆操作。

当不指定字符串格式时,format默认格式为”%a %b %d %H:%M:%S %Y”(下面第二行的格式)。1

2

3

4

5import time

print(time.strptime("2018-04-24 10:00:14", "%Y-%m-%d %H:%M:%S"))

#输出结果:time.struct_time(tm_year=2018, tm_mon=4, tm_mday=24, tm_hour=10, tm_min=0, tm_sec=14, tm_wday=1, tm_yday=114, tm_isdst=-1)

print(time.strptime("Tue Apr 24 10:03:14 2018"))

#输出结果:time.struct_time(tm_year=2018, tm_mon=4, tm_mday=24, tm_hour=10, tm_min=3, tm_sec=14, tm_wday=1, tm_yday=114, tm_isdst=-1)

总结

在time模块中,一共有3种时间表示方式,分别是timstamp(时间戳)、struct_time(元组)和格式化字符串(str)。

返回时间戳(timestamp)的方法

time() 无参数

mktime() 参数为struct_time

返回元组(struct_time)的方法

localtime() 无参数

gmtime() 参数为timestamp

strptime() 参数为str

返回字符串(str)的方法

asctime() 参数为struct_time

ctime() 参数为timestamp

strftime() 参数为struct_time

更多的关于time模块内容点击查看。

commands

commands是linux下特有的模块,用来执行linux命令。cmd代表系统命令。

注意:在python3.X中该模块已移除,使用subprocess替代。下面均为linux系统中python2.7.5环境执行结果。

getoutput(cmd)

getoutput(cmd)返回结果为cmd命令的执行结果(字符串)。1

2

3

4

5import commands

commands.getoutput("uname -a")

'Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux'

commands.getoutput("uname -r")

'3.10.0-693.el7.x86_64'

getstatusoutput(cmd)

getstatusoutput(cmd)返回包含2个元素的元组。

第一个元素为命令执行状态(int),如果执行成功返回0,不成功返回非0。

第二个元素为命令执行结果(str)。1

2

3

4

5

6

7import commands

commands.getstatusoutput("uname -r")

(0, '3.10.0-693.el7.x86_64')

>>>commands.getstatusoutput("uname -a")

(0, 'Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux')

>>>commands.getstatusoutput("ls -l /eee/dd")

(512, 'ls: xe6x97xa0xe6xb3x95xe8xaexbfxe9x97xae/eee/dd: xe6xb2xa1xe6x9cx89xe9x82xa3xe4xb8xaaxe6x96x87xe4xbbxb6xe6x88x96xe7x9bxaexe5xbdx95')

python中更为常用的是status, result = commands.getstatusoutput("uname -a")命令,通过一一对一个的方式赋值给status和result。

python内置模块相关官方文档The Python Standard Library点击查看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值