常用模块
发布日期:2021-09-03 20:58:02 浏览次数:9 分类:技术文章

本文共 7528 字,大约阅读时间需要 25 分钟。

时间模块    time

import timetime.time()print(time.time())  #时间戳   1554879802.0031486  是数据的唯一标识print('start')time.sleep(2)print('stop')print(time.localtime())  #当下时间time.struct_time(tm_year=2019, tm_mon=4, tm_mday=10, tm_hour=15, tm_min=3, tm_sec=22, tm_wday=2, tm_yday=100, tm_isdst=0)print(time.gmtime())  #格林威治时间time.struct_time(tm_year=2019, tm_mon=4, tm_mday=10, tm_hour=7, tm_min=3, tm_sec=22, tm_wday=2, tm_yday=100, tm_isdst=0)print(time.strftime('%Y-%m-%d'))  #完整的年月日  2019-04-10print(time.strftime('%Y'))  #完整的年份   2019print(time.strftime('%y'))  #两位数的年份  19print(time.strftime('%m'))  #月份(01-12)    04print(time.strftime('%d'))  #日期(01-31   10print(time.strftime('%H'))  #24小时制的小时数(00-24)    15print(time.strftime('%I'))  #12小时制的小时数(01-12)   03print(time.strftime('%M'))  #分(00-59)   08print(time.strftime('%S'))  #秒(00-59)   48print(time.strftime('%a'))  #本地星期简化名称   Wedprint(time.strftime('%A'))  #本地完整星期名称   Wednesdayprint(time.strftime('%B'))  #本地完整月份名称   Aprilprint(time.strftime('%b'))  #本地简化月份名称   Aprprint(time.strftime('%c'))  #本地相应的日期和时间   Wed Apr 10 15:08:48 2019print(time.strftime('%j'))  #一年中的第几天   100print(time.strftime('%p'))  #上午或者下午   PMprint(time.strftime('%u'))  #星期几   3print(time.strftime('%w'))  #星期几   3print(time.strftime('%W'))  #一年中的星期数(00-53)星期一为星期的开始    14print(time.strftime('%x'))  #当地相对应的日期表示    04/10/19print(time.strftime('%X'))  #本地相对应的时间表示    15:08:48print(time.strftime('%z'))  #当前时区的名称   +0800格式化时间q=(2020, 4, 10, 10, 19, 22, 2, 200, 0)print(time.strftime('%Y-%m-%d %j %H days', q))

自己写一个判断是否为闰年

直接被400整除,可以被4整除但是不能被100整除year1 = int(input('year:'))d1 = year1 % 400 == 0d2 = year1 % 4 == 0 and year1 % 100 != 0if d1 or d2:    print('是 ')else:    print('不是 ')

日历模块:  calendar

import calendarprint(calendar.isleap(2003))  # 判断是否为闰年   True或者Falseprint(calendar.month(2019,4))  #查看某年某月日历April 2019Mo Tu We Th Fr Sa Su 1  2  3  4  5  6  7 8  9 10 11 12 13 1415 16 17 18 19 20 2122 23 24 25 26 27 2829 30print(calendar.monthrange(2019,3))   #查看某年某月起始星期几与当月的天数    (4, 31)print(calendar.weekday(2019,5,1))   #查看某年某月某日是星几   2

可以运算的时间   datatime

import  datetimeprint(datetime.datetime.now())   #当前时间   2019-04-10 15:46:41.892413print(datetime.datetime.now() + datetime.timedelta(hours=-2))   #以前的时间   2019-04-10 13:48:46.498839# datetime.timedelta(days=-1)  ()里的就是你想加减去的时间print(datetime.datetime.now().replace(year=2020,hour=19))   #修改的时间# 2020-04-10 19:57:45.468183print(datetime.date.fromtimestamp(12321231))  #格式化的时间1970-05-23

系统: sys

import sysprint(sys.argv)  #命令行参数list,第一个元素是程序本身路径['D:/pycharm/脱产七期/day  17  4.10  常见模块/常见模块练习.py']print(sys.exit()) #退出程序print(sys.version)   #Python解释器的版本信息3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)]print(sys.maxsize)   #获取最大int值  9223372036854775807print(sys.path)   #环境变量['D:\\pycharm\\脱产七期\\day  17  4.10  常见模块', 'D:\\pycharm\\脱产七期', 'C:\\Python36\\python36.zip', 'C:\\Python36\\DLLs', 'C:\\Python36\\lib', 'C:\\Python36', 'C:\\Python36\\lib\\site-packages', 'D:\\PyCharm 2018.3.5\\helpers\\pycharm_matplotlib_backend']print(sys.platform)  #操作系统平台名称   win32

操作系统 :os

import osprint(os.mkdir('qqqq'))  #生成单级目录print(os.makedirs('qqq/www/eee'))   #生成多级目录print(os.rename('eee','rrr'))   #文件重命名print(os.getcwd())   #工作目录   D:\pycharm\脱产七期\day  17  4.10  常见模块print(os.rmdir('qqqq'))   #删除单层目录print(os.removedirs('qqq/www/eee'))   #删除多层目录print(os.listdir('qqq'))    #列举目录下所有资源  ['www']print(os.sep)   #路径分隔符  \print(os.linesep)    #行终止符print(os.pathsep)    #文件分隔符   ;print(os.name)    #操作系统名   ntprint(os.environ)   #操作系统环境变量print(os.system())    #执行shell脚本

系统路径操作 os.path

import os.pathprint(__file__)    #执行文件的当前路径   D:/pycharm/脱产七期/day  17  4.10  常见模块/常见模块练习.pyprint(os.path.abspath('D:\pycharm\脱产七期\day  17  4.10  常见模块'))   #返回path规范化的绝对路径   D:\pycharm\脱产七期\day  17  4.10  常见模块print(os.path.split('D:\pycharm\脱产七期\day  17  4.10  常见模块'))  #将path分割成目录和文件名二元组返回   ('D:\\pycharm\\脱产七期', 'day  17  4.10  常见模块')print(os.path.dirname('D:\pycharm\脱产七期\day  17  4.10  常见模块'))   #上一级目录   D:\pycharm\脱产七期print(os.path.basename('D:\pycharm\脱产七期\day  17  4.10  常见模块'))   #最后一级名称    day  17  4.10  常见模块print(os.path.exists('D:\pycharm\脱产七期\day  17  4.10  常见模块'))  #指定路径是否存在   Trueprint(os.path.isabs('D:\pycharm\脱产七期\day  17  4.10  常见模块'))    #是否是绝对路径   Trueprint(os.path.isfile('D:\pycharm\脱产七期\day  17  4.10  常见模块'))   #是否是文件   Falseprint(os.path.isdir('D:\pycharm\脱产七期\day  17  4.10  常见模块'))   #是否是路径   Trueprint(os.path.join(path1[, path2[, ...]]))   #路径拼接print(os.path.getatime('D:\pycharm\脱产七期\day  17  4.10  常见模块'))  #最后存取时间   1554885847.2432308print(os.path.getmtime('D:\pycharm\脱产七期\day  17  4.10  常见模块'))   #最后修改时间   1554885847.2432308print(os.path.getsize('D:\pycharm\脱产七期\day  17  4.10  常见模块'))   #目标大小  0

序列化    json

import jsonjson:{} 与 [] 嵌套的数据注意:json中的字符串必须全部用""来标识dic = {    'a': 1,    'b': [1, 2, 3, 4, 5]}序列化: 将python的字典转化为字符串传递给其他语言或保存json_dumps=json.dumps(dic)print(json_dumps)  #序列化转化字符串   {"a": 1, "b": [1, 2, 3, 4, 5]}with open('zzz','w',encoding='utf-8') as w:    w.write(json_dumps)  #将序列化字符串写到文件中字符形式操作反序列化成对象json_dumps='''{"a": 1, "b": [1, 2, 3, 4, 5]}'''json_str=json.loads(json_dumps)print(json_str)从文件中反序列化成对象with open('zzz','r',encoding='utf-8') as r:    res=json.load(r)    print(res)

序列化   pickle

import pickledic = {    'a': 1,    'b': [1, 2, 3, 4, 5]}res = pickle.dumps(dic)print(res)   #序列化成字符串with open('xxx', 'wb') as w:    w.write(res)   #序列化字符串到文件中字节形式操作print(pickle.loads(res))   #反序列化成对象with open('xxx', 'rb') as r:    print(pickle.load(r))   #从文件中反序列化成对象

 随机数  random

import randomprint(random.random())   #(0,1)  小数:0.6071058391747245print(random.randint(1,10))     #[1,10]   整数: 9print(random.randrange(1,10))  #[1,10)   整数:  5print(random.uniform(1,10))    #(1,10)   小数:4.281837749353642li=[1,2,3,4,5,6,7,8]print(random.choice(li))   #单列集合随机选择1个:6print(random.sample(li,3))   #单列集合随机选择n个:[4, 7, 5]

 案例:产生指定位数的验证码

import randomdef random_code(count):    code=''    for i in range(count):        num=random.randint(1,3)  #判断你要验证的是数字,大写之母,小写字母        if num ==1:            tag = str(random.randint(0,9))        elif num ==2:            tag = chr(random.randint(65,90))  #小写字符的二进制比较        else:            tag = chr(random.randint(92,122))   #大写字符的二进制比较        code+=tag    return codeprint(random_code(6))   #dWuoba
View Code

可以操作权限的文件处理模块  shutil

import  shutilprint(shutil.copyfile('ooo.py','iii.py'))   #基于路径的文件复制with open('ooo.py','rb')  as  r,open('iii.py','wb')  as  w:    shutil.copyfileobj(r,w)   #基于流的文件复制print(shutil.rmtree('ppp'))   #递归删除目标目录print(shutil.move('ooo.py','lll.py'))   #文件移动(类似于重命名)print(shutil.make_archive('iii.py','zip','D:\pycharm\脱产七期\day18   4.11常见模块\kkkk'))print(shutil.unpack_archive('D:\pycharm\脱产七期\day18   4.11常见模块\iii.py.zip','ooo.py.zip','zip'))

可以用字典存取数据到文件的序列化模块    shelve

import shelves_dic = shelve.open("target.txt")  # 注:writeback=True操作数据会同步写到文件序列化::存s_dic['key1'] = [1, 2, 3, 4, 5]s_dic['key2'] = {
'name': 'Bob', 'age': 18}s_dic['key3'] = 'abc'文件释放s_dic.close()s_dic = shelve.open("target.txt", writeback=True)print(s_dic['key1'])s_dic['key1'][2] = 30print(s_dic['key1'])print(s_dic['key2'])s_dic['key2']['age'] = 300print(s_dic['key2'])print(s_dic['key3'])s_dic['key3'] = 'def'print(s_dic['key3'])s_dic.close()

标准输入,标准输出,错误流

import sysprint(sys.stdout.write('123\n'))  #标准输出   123print(sys.stderr.write('错误信息\n'))  #标准错误流   错误信息res = sys.stdin.read(3)  #()是你在控制台要输入的字符个数   bdgasf===>bdgprint(res)  #标准输入print默认是对sys.stdout.write('msg') + sys.stdout.write('\n')的封装格式化结束符print:print('msg', end='')

 

转载于:https://www.cnblogs.com/wangtenghui/p/10684884.html

转载地址:https://blog.csdn.net/weixin_34195142/article/details/92837125 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:话说客户端连接mongoDB的连接参数(转载)
下一篇:图解win2003下apache+php+mysql+phpmyadmin+Zend Optimizer 转1

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月24日 18时35分35秒