Python之路——内置模块总结

Posted liuyankui163

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之路——内置模块总结相关的知识,希望对你有一定的参考价值。

time模块

在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串:

(1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。

(2)格式化的时间字符串(Format String): ‘1999-12-06’

  python中时间日期格式化符号:

%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)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

(3)元组(struct_time) :struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等

索引(Index)属性(Attribute)值(Values)
0 tm_year(年) 比如2011
1 tm_mon(月) 1 - 12
2 tm_mday(日) 1 - 31
3 tm_hour(时) 0 - 23
4 tm_min(分) 0 - 59
5 tm_sec(秒) 0 - 60
6 tm_wday(weekday) 0 - 6(0表示周一)
7 tm_yday(一年中的第几天) 1 - 366
8 tm_isdst(是否是夏令时) 默认为0
 1 import time
 2 # print(time.time())
 3 # print(time.strftime("%Y-%m-%d %H:%M:%S"))
 4 # print(time.strftime("%Y/%m/%d %H:%M:%S"))
 5 # t1 = 1500000000
 6 # t2 = 1600000000
 7 # st1 = time.localtime(t1)
 8 # st2 = time.localtime(t2)
 9 # st3 = time.localtime(t2-t1)
10 # t4 = time.strftime(‘%Y-%m-%d %H:%M:%S‘,(st3[0]-1970,*st3[1:]))
11 # print(st3.tm_yday,st3.tm_hour,st3.tm_min,st3.tm_sec)
12 
13 # def past_time(start_time = None):
14 #     start_time = start_time if start_time else time.time()
15 #     n = 0
16 #     while n<100:
17 #         time.sleep(0.5)
18 #         end_time = time.time()
19 #         st = time.gmtime(end_time-start_time)
20 #         print(‘year:%s day:%s %s:%s:%s‘% (st.tm_year-1970,st.tm_yday-1,st.tm_hour,st.tm_min,st.tm_sec))
21 #         n += 1
22 # past_time()
23 
24 # 时间戳和结构化时间
25 # t = time.time()
26 # print(t)
27 # print(time.localtime(t))
28 # print(time.gmtime(t))
29 # print(time.mktime(time.localtime(t)))
30 # print(time.mktime(time.gmtime(8*3600)))
31 
32 # asctime([tuple]) -> string
33 # print(time.asctime())
34 # Convert a time tuple to a string, e.g. ‘Sat Jun 06 16:26:11 1998‘.
35 # When the time tuple is not present, current time as returned by localtime()
36 # is used.
37 
38 # strptime(string, format) -> struct_time
39 # Parse a string to a time tuple according to a format specification.
40 # print(time.strptime(‘2000-12.31‘,‘%Y-%m.%d‘))
41 # # time.struct_time(tm_year=2000, tm_mon=12, tm_mday=31, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=366, tm_isdst=-1)
42 
43 # print(time.strftime(‘%m/%d/%Y %H:%M:%S‘,time.localtime(3000000000)))    # 01/24/2065 13:20:00

 

collections模块

在内置数据类型(dict、list、set、tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等。

1.namedtuple: 生成可以使用名字来访问元素内容的tuple

2.deque: 双端队列,可以快速的从另外一侧追加和推出对象

3.Counter: 计数器,主要用来计数

4.OrderedDict: 有序字典

5.defaultdict: 带有默认值的字典

技术分享图片
 1 # from collections import namedtuple
 2 # Point = namedtuple(‘point‘,[‘x‘,‘y‘,‘z‘])
 3 # p1 = Point(1,2,3)
 4 # print(p1)
 5 # print(p1.x,p1.y,p1.z)
 6 # p2 = Point(2,3,4)
 7 # print(p2.x,p2.y,p2.z)
 8 
 9 # Card = namedtuple(‘card‘,[‘suits‘,‘number‘])
10 # print(Card.__doc__)
11 # c1 = Card(‘红桃‘,3)
12 # print(c1.suits,c1.number)
13 
14 # >>> from collections import namedtuple
15 # >>> Point = namedtuple(‘Point‘,[‘x‘,‘y‘])
16 # >>> Point.__doc__
17 # ‘Point(x, y)‘
18 # >>> p = Point(11,y=22)
19 # >>> p[0] + p[1]
20 # 33
21 # >>> p.x+p.y
22 # 33
23 # >>> a,b = p
24 # >>> a,b
25 # (11, 22)
26 # >>> a
27 # 11
28 # >>> b
29 # 22
30 # >>> d = p._asdict()
31 # >>> print(d)
32 # OrderedDict([(‘x‘, 11), (‘y‘, 22)])
33 # >>> print(d[‘x‘])
34 # 11
35 # >>> Point(**d)
36 # Point(x=11, y=22)
37 # >>> p._replace(x=100)
38 # Point(x=100, y=22)
39 
40 # 队列
41 # import queue
42 # q = queue.Queue()
43 # # Create a queue object with a given maximum size.
44 # # If maxsize is <= 0, the queue size is infinite.
45 # q.put([1,2,3])
46 # q.put(5)
47 # q.put(6)
48 # print(q)
49 # print(q.qsize())
50 # print(q.get())
51 # print(q.get())
52 # print(q.get())
53 # print(q.qsize())
54 
55 # from collections import deque
56 # dq = deque(‘adgas465a‘)
57 # print(dq)
58 # # print(dq.pop())
59 # # print(dq.pop())
60 # dq.append(‘a‘)
61 # dq.append(‘b‘)
62 # dq.appendleft(‘c‘)
63 # print(dq)
64 # print(dq.pop())
65 # print(dq.popleft())
66 
67 # 有序字典
68 # from collections import OrderedDict
69 # od = OrderedDict([(‘a‘,1),(‘b‘,2),(‘c‘,3)])
70 # print(od)
71 # print(od[‘a‘])
72 # print(od[‘b‘])
73 # for k in od:
74 #     print(k,od[k])
75 
76 # ???????
77 # from collections import defaultdict
78 # d = defaultdict(lambda : 5)
79 # print(d)
80 
81 # from collections import Counter
82 # Counter(): Create a new, empty Counter object.  And if given, count elements
83         #    from an input iterable.  Or, initialize the count from another mapping
84         #    of elements to their counts.
85 # c = Counter(‘sdfjkasjdflajs‘)
86 # print(c)    # Counter({‘s‘: 3, ‘j‘: 3, ‘a‘: 2, ‘d‘: 2, ‘f‘: 2, ‘k‘: 1, ‘l‘: 1})
87 # c[‘d‘] -= 1
88 # print(c)    # Counter({‘j‘: 3, ‘s‘: 3, ‘f‘: 2, ‘a‘: 2, ‘k‘: 1, ‘d‘: 1, ‘l‘: 1})
89 
90 # c = Counter()                           # a new, empty counter
91 # print(c)    # Counter()
92 # c = Counter(‘gallahad‘)                 # a new counter from an iterable
93 # print(c)    # Counter({‘a‘: 3, ‘l‘: 2, ‘d‘: 1, ‘g‘: 1, ‘h‘: 1})
94 # c = Counter({‘a‘: 4, ‘b‘: 2})           # a new counter from a mapping
95 # print(c)    # Counter({‘a‘: 4, ‘b‘: 2})
96 # c = Counter(a=4, b=2)                   # a new counter from keyword args
97 # print(c)    # Counter({‘a‘: 4, ‘b‘: 2})
View Code

defaultdict

 1 from collections import defaultdict
 2 
 3 values = [11, 22, 33,44,55,66,77,88,99,90]
 4 
 5 my_dict = defaultdict(list)
 6 
 7 for value in  values:
 8     if value>66:
 9         my_dict[k1].append(value)
10     else:
11         my_dict[k2].append(value)

 

random模块

技术分享图片
 1 # import random
 2 # random.random() # Get the next random number in the range [0.0, 1.0)
 3 # print(random.random())
 4 
 5 # random.uniform(a,b) # Get a random number in the range [a, b) or [a, b] depending on rounding.
 6 # a = random.uniform(1,3)
 7 # print(a)
 8 
 9 # print(random.randint(1,5))  # 大于等于1小于等于5之间的整数
10 
11 # print(random.choice([1,‘23‘,[4,5]]))    # 1或者23或者[4,5]
12 # print(random.choice(1)) # TypeError: object of type ‘int‘ has no len()
13 
14 # print(random.sample([1,‘23‘,[4,5]],2)) # 随机返回[1,‘23‘,[4,5]]中的两个元素,返回的是一个列表
15 #
16 # print(random.sample(list({‘k1‘:‘v1‘,‘k2‘:‘v2‘}),2)) # [‘k1‘, ‘k2‘]
17 
18 # 打乱列表顺序
19 # item = [1,3,5,7,9]
20 # random.shuffle(item)
21 # print(item)
22 
23 # 生成验证码
24 # import random
25 # def v_code(n=5):
26 #     code = ‘‘
27 #     for i in range(n):
28 #         num = random.randint(0,9)
29 #         alf = chr(random.randint(65,90))
30 #         add = random.choice([num,alf])
31 #         code += str(add)
32 #     return code
33 # print(v_code())
34 
35 # import random
36 # def v_code(n=5):
37 #     code = ‘‘
38 #     for i in range(n):
39 #         num = random.randint(0,9)
40 #         alf = chr(random.randint(65,90))
41 #         add = random.choice([num,alf])
42 #         code  = ‘‘.join([code,str(add)])
43 #     return code
44 # print(v_code())
View Code

 

os模块

技术分享图片
 1 import os
 2 # print(os.getcwd())  # Return a unicode string representing the current working directory
 3 
 4 # os.chdir(r‘E:\\Python_Fullstack_S9‘)   # Change the current working directory to the specified path.
 5 # print(os.getcwd())
 6 
 7 # os.makedirs(‘dirname1/dirname2/dirname3‘)
 8 # os.removedirs(‘dirname1/dirname2/dirname3‘)
 9 # os.mkdir(‘dirname1/dirname2/dirname3‘)
10 
11 # print(os.listdir(r‘E:\\Python_Fullstack_S9‘))
12 
13 # stat 系统调用时用来返回相关文件的系统状态信息的
14 # sta=os.stat(‘collections_module.py‘)
15 # print(sta)
16 # os.stat_result(st_mode=33206,           # 权限模式
17 #                st_ino=5910974510945247, # inode number
18 #                st_dev=284297630,        # device
19 #                st_nlink=1,              # number of hard links
20 #                st_uid=0,                # 所有用户的user id
21 #                st_gid=0,                # 所有用户的group id
22 #                st_size=1641,            # 文件的大小,以位为单位
23 #                st_atime=1515569689,     # 文件最后访问时间
24 #                st_mtime=1515569689,     # 文件最后修改时间
25 #                st_ctime=1515566554)     # 文件创建时间
26 
27 # python os.stat() 和 stat模块详解: http://www.cnblogs.com/maseng/p/3386140.html
28 
29 # print(os.sep)   # \\
30 
31 # os.system(‘dir‘)
32 # ret = os.popen(‘dir‘).read()
33 # print(ret)
34 # print(os.environ)
35 
36 # print(os.getcwd())  # E:\\Python_Fullstack_S9\\Python_Fulldeck_S9_20171214\\day19
37 # print(os.path.split(os.getcwd()))   # (‘E:\\\\Python_Fullstack_S9\\\\Python_Fulldeck_S9_20171214‘, ‘day19‘)
38 
39 # print(os.path.join(r‘C:\\Users\\Administrator‘,‘user‘,‘local‘))
40 # print(os.getcwd())
41 # print(os.path.getsize(os.path.join(os.getcwd(),‘time_module.py‘)))
View Code

 

sys模块

sys模块是与python解释器交互的一个接口

sys.argv           命令行参数List,第一个元素是程序本身路径
sys.exit(n)        退出程序,正常退出时exit(0),错误退出sys.exit(1)
sys.version        获取Python解释程序的版本信息
sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform       返回操作系统平台名称
 1 import sys
 2 # print(sys.platform)
 3 # print(sys.version)
 4 
 5 # print(sys.path.clear())
 6 
 7 # ret = sys.argv
 8 # name = ret[1]
 9 # pwd = ret[2]
10 # if name == ‘alex‘ and pwd == ‘alex3714‘:
11 #     print(‘success‘)
12 # else:
13 #     print(‘error‘)
14 #     sys.exit()
15 # print(‘go on ....‘)

 






















以上是关于Python之路——内置模块总结的主要内容,如果未能解决你的问题,请参考以下文章

python之路5:常用模块

Python学习之路——模块

python之路-16-常用模块学习

18.python全栈之路:模块

python之路——常用模块

python之路-模块和包