python模块
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python模块相关的知识,希望对你有一定的参考价值。
1.模块格式
为了方便管理模块,python中又引了包(Package)这个概念。每个包下面都有一个__init__.py文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。__init__.py可以是空文件,也可以有Python代码。
例子:
[[email protected] ~]# tree test
test
├── aaa.py
├── bbb.py
└── __init__.py
2.import导入
有时候一个文件或者一个包中已经出现了一个函数,我们在另一个python代码中需要引入该文件或者该文件的某个函数,python给我们提供一个关键字。
2.1import用法:
1)如果是本地导入文件,直接使用:import filename
2)如果导入的是一个包,该包下面必须是有__init__.py文件才可以导入,否则报错,只有有了__init__.py文件,python解析器才会把这个目录当成是的包
3)导入时,.py的后缀直接省略,如果是多级的包,或者想导入包里面的函数等,可以使用from进行导入
2.2常用导入格式:
from xxx import xxx
import xxx
2.3调用方式
例子:
# 第一种调用
import test.test # 目录名.文件名
test.test.hello() # 引用时,目录名.文件名.函数名
# 第二种调用
from test import test # from格式
test.hello() # 文件名.函数名
2.4起别名
例子:
import test.test as alias1
alias1.hello()
结果:
hello,world
3.时间模块
3.1 time模块:基本不用取时间,取时间推荐使用datatime模块;time独有的的用法(定时)
例子:
import time
for i in xrange(1,10):
print (i)
time.sleep(2)
结果:
1
2
3
4
5
6
7
8
9
说明:
1)datetime模块是包装了time模块的,所以只需要了解datetime模块就可以
2)time.time()是或者当前时间的时间戳,时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数
3)datetime下面下面有个函数fromtimestamp(时间戳)会把时间戳自动转换成datetime类型
3.2 timedate模块
3.2.1 now()方法:当前时间
例子:
from datetime import datetime
time_now = datetime.now()
print(time_now)
结果:
2017-10-23 17:55:15.161000
3.2.2 strftime()方法:自定义时间格式
格式参数:
%Y 带世纪部分的十制年份
%m 十进制表示的月份
%d 十进制表示的每月的第几天
%H 24小时制的小时
%M 十时制表示的分钟数
%S 十进制的秒数
%c 标准时间,如:04/25/17 14:35:14
例子:
from datetime import datetime
time_now = datetime.now()
new_time = time_now.strftime("%Y-%m-%d %H:%M:%S")
print(new_time)
结果:
2017-10-23 17:59:59
例子:
from datetime import datetime
time_now = datetime.now()
new_time = time_now.strftime("%c")
print(new_time)
结果:
10/23/17 18:01:07
3.2.3 datetime模块其他方法
datetime.astimezone datetime.dst datetime.isoformat datetime.minute datetime.second datetime.timetz datetime.utcfromtimestamp datetime.year
datetime.combine datetime.fromordinal datetime.isoweekday datetime.month datetime.strftime datetime.today datetime.utcnow
datetime.ctime datetime.fromtimestamp datetime.max datetime.now datetime.strptime datetime.toordinal datetime.utcoffset
datetime.date datetime.hour datetime.microsecond datetime.replace datetime.time datetime.tzinfo datetime.utctimetuple
datetime.day datetime.isocalendar datetime.min datetime.resolution datetime.timetuple datetime.tzname datetime.weekday
3.3 datetime模块的Timedelta函数,自定义时间
格式:
Timedelta可以接收days和seconds两个参数
正数代表几天之后
负数代表几天之前
例子:
from datetime import datetime, timedelta
now_time = datetime.now()
print(now_time)
new_time = now_time + timedelta(days=1)
print(new_time)
结果:
2017-10-23 18:12:34.242000
2017-10-24 18:12:34.242000
4.时间的存在方式:时间对象、时间字符串、时间戳
1)strftime:时间对象——>时间字符串
例子:
from datetime import datetime
time_now = datetime.now()
time_new = datetime.strftime(time_now,"%Y-%m-%d %H:%M:%S")
print (time_new)
print(type(time_new))
结果:
2017-10-23 18:27:25
<type ‘str‘>
2)strptime:时间字符串——>时间对象
例子:
from datetime import datetime
time_now = datetime.now()
time_new = datetime.strftime(time_now,"%Y-%m-%d %H:%M:%S")
print (time_new)
print(type(time_new))
time_new2 = datetime.strptime(time_new,"%Y-%m-%d %H:%M:%S")
print(time_new2)
print(type(time_new2))
结果:
2017-10-23 18:27:25
<type ‘str‘>
2017-10-23 18:27:25
<type ‘datetime.datetime‘>
3)fromtimestamp():时间戳——>字符串
例子:
import time
from datetime import datetime, timedelta
time_now = time.time()
print (time_now)
print(type(time_now))
time_new = datetime.fromtimestamp(time_now)
print(time_new)
结果:
1508755156.58
<type ‘float‘>
2017-10-23 18:39:16.580000
以上是关于python模块的主要内容,如果未能解决你的问题,请参考以下文章