200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 【成长之路】【python】python基础5-模块

【成长之路】【python】python基础5-模块

时间:2018-11-11 15:23:12

相关推荐

【成长之路】【python】python基础5-模块

time模块

1. import time

# 日期字符串 转成 时间戳19 # string_2_struct = time.strptime("/05/22","%Y/%m/%d") #将 日期字符串 转成 struct时间对象格式20 # print(string_2_struct)21 # #22 # struct_2_stamp = time.mktime(string_2_struct) #将struct时间对象转成时间戳23 # print(struct_2_stamp)24 25 26 27 #将时间戳转为字符串格式28 # print(time.gmtime(time.time()-86640)) #将utc时间戳转换成struct_time格式29 # print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) ) #将utc struct_time格式转成指定的字符串格式

2.#时间加减import datetime# print(datetime.datetime.now()) #返回 -08-19 12:47:03.941925# print(datetime.date.fromtimestamp(time.time()) ) # 时间戳直接转成日期格式 -08-19# print(datetime.datetime.now() )

# print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天

# print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天# print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时# print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分

print(datetime.datetime.now())

print(datetime.datetime.now() + datetime.timedelta(hours=3))

输出结果:差了3个小时

-02-20 18:48:45.996364

-02-20 21:48:45.996364

3.random模块

#生成大小写字母和数字组成的验证码

import random,string

source = string.digits + string.ascii_lowercase

print(''.join(random.sample(source,6)))

6e1wh7

4.os模块

提供对操作系统进行调用的接口

os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径|F:\python\homework\4\ATM\conf

os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cdos.curdir 返回当前目录: ('.')os.pardir 获取当前目录的父目录字符串名:('..')os.makedirs('dirname1/dirname2') 可生成多层递归目录os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirnameos.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirnameos.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 输出用于分割文件路径的字符串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不存在,返回Falseos.path.isabs(path) 如果path是绝对路径,返回Trueos.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回Falseos.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回Falseos.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间

5.json & pickle 模块

用于序列化的两个模块

json,用于字符串 和 python数据类型间进行转换pickle,用于python特有的类型 和 python的数据类型间进行转换

Json模块提供了四个功能:dumps、dump、loads、load

pickle模块提供了四个功能:dumps、dump、loads、load

import json

j_str = json.dump(data)

with open('d:/person','w') as fp:

json.dump(data,fp)

6.shelve 模块

importshelve

d=shelve.open('shelve_test')#打开一个文件classTest(object):def__init__(self,n):self.n=nt=Test(123)t2=Test(123334)name=["alex","rain","test"]d["test"]=name#持久化列表d["t1"]=t#持久化类d["t2"]=t2d.close()6.生成器 只有在调用next的时候才生成下一个值,调用一次生成一次,而不是预生成的方式产生循环的量

def fib(max):n,a,b = 0,0,1while n < max:#print(b)yield ba,b = b,a+bn += 1return 'done'

通过yield实现在单线程的情况下实现并发运算的效果

import timedef consumer(name):print("%s 准备吃包子啦!" %name)while True:baozi = yieldprint("包子[%s]来了,被[%s]吃了!" %(baozi,name))def producer(name):c = consumer('A')c2 = consumer('B')c.__next__()c2.__next__()print("老子开始准备做包子啦!")for i in range(10):time.sleep(1)print("做了2个包子!")c.send(i)c2.send(i)producer("alex")

7.小知识点

chr(75),把整型数转换为字符

a ='print(chr(75))'

exec(a) ,exec执行字符串中的名利

a = '2+4'

print(eval(a)) eval执行字符串中的表达式

print(dir('a')) dir查对象所对应的方法

map(lamada x:x+1,rang(10)), map对列表中的每一个值做定义的操作

List(range(10)) 列出列表中的每个值:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

a = range(5)

b = range(5,10)

zip(a,b),分别从a和b中逐次各取一个值做为一个新的的组

print(list(zip(a,b))) :[(0, 5), (1, 6), (2, 7), (3, 8), (4, 9)]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。