python常用模块
import(modulename)导入模块math import math1、向上取整math.ceil() num 3.14 math.ceil(num) 42、向下取整math.floor() num 5.9 math.floor(num) 5 #或 int(num) 5datetimefrom datetime import datetime1、获取当前格式化日期 print(datetime.now()) 2017-09-30 09:12:31.0703122、获取指定日期和时间 dt datetime(2017, 10, 1, 6, 30) print(dt) 2017-10-01 06:30:003、把格式化时间转换为时间戳。python的tempstamp是一个浮点数。小数位表示毫秒数 dt datetime(2017, 9, 30, 9, 48) dt.timestamp() 1506736080.04、格式化时间戳 t 1506736080.0 print(datetime.fromtimestamp(t)) 2017-09-30 09:48:00 注datetime.utcfromtimestamp(t)直接转换到utc标准时区的时间5、datetime转换为str now datetime.now() datetime.now().strftime(%Y-%m-%d %H:%M:%S) 2018-03-03 22:06:446、datetime加减 from datetime import datetime, timedelta now datetime.now() print(now) 2017-09-30 10:36:54.148904 print(now timedelta(hours1)) 2017-09-30 11:36:54.148904 print(now timedelta(days1)) 2017-10-01 10:36:54.148904 (datetime.now()-timedelta(days1, hours1, minutes1, seconds1)).strftime(%Y-%m-%d %H:%M:%S) 2018-03-02 21:15:247、datetime.now().timetuple()返回当前时间struct_time格式 datetime.now().timetuple() time.struct_time(tm_year2017, tm_mon10, tm_mday1, tm_hour19, tm_min45, tm_sec29, tm_wday6, tm_yday274, tm_isdst-1)8、datetime.now().replace()传入的参数会替换结果时间如果什么都没传则返回调用replace()的时间对象 datetime.now().replace(2017,10,1) datetime.datetime(2017, 10, 1, 19, 49, 53, 838155)timeimport time1、time.localtime() time.localtime() time.struct_time(tm_year2017, tm_mon9, tm_mday30, tm_hour11, tm_min28, tm_sec1, tm_wday5, tm_yday273, tm_isdst0) 索引index 属性attribute 值values 0 tm_year年 2017 1 tm_mon月 1-12 2 tm_mday日 1-31 3 tm_hour时 0-23 4 tm_min分 0-59 5 tm_sec秒 0-59 6 tm_wday周 0-60是周日 7 tm_yday 一年中第几天 8 tm_isdst夏令制2、time.sleep(second)让程序暂停second秒后运行3、time.time()返回当前时间戳 time.time() 1506742662.6955894、获取格式化时间 print(time.strftime(%Y-%m-%d %H:%M:%S, time.localtime())) 2017-09-30 11:41:215、time.clock()该函数有两个功能在第一次调用的时候返回的是程序运行的实际时间以第二次之后的调用返回的是自第一次调用后,到这次调用的时间间隔在win32系统下这个函数返回的是真实时间wall time而在Unix/Linux下返回的是CPU时间。6、指定日期转换为时间戳import time t 2017-11-24 17:30:00 #将其转换为时间数组 timeStruct time.strptime(t, %Y-%m-%d %H:%M:%S) #转换为时间戳: timeStamp int(time.mktime(timeStruct)) print(timeStamp) #结果 15115158007、指定时间戳格式化timeStamp 1511515800 localTime time.localtime(timeStamp) strTime time.strftime(%Y-%m-%d %H:%M:%S, localTime) print(strTime) 结果 2017-11-24 17:30:00sysimport sys1、sys.argv获取传入脚本的参数第一个参数是脚本本身test.py print(sys.argv) F:\python\testpython test.py 1 2 3 [test.py, 1, 2, 3]2、sys.path返回模块的搜索路径从当前文件所在路径开始搜索 sys.path [, D:\\Software\\python36.zip, D:\\Software\\DLLs, D:\\Software\\lib, D:\\Software, D:\\Software\\lib\\site-packages]3、sys.version返回python版本信息 sys.version 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)]4、sys.exit()退出程序和exit()功能一样 sys.exit(good bye) good bye C:\Users\HONOUR-CYY5、sys.platform返回操作系统平台名称 sys.platform win326、sys.stdout.write(str)在屏幕上打印数据 sys.stdout.write(hello) hello sys.stdout.write(\r) #刷新之前输出到屏幕的内容7、sys.stdout.flush()刷新缓冲区的内容到屏幕pickle序列化把变量从内存中变成可存储或传输的过程称之为序列化import pickle1、pickle.dumps()把任意对象序列化成一个bytes d dict(namechenyy, age20) a pickle.dumps(d) a b\x80\x03}q\x00(X\x04\x00\x00\x00nameq\x01X\x06\x00\x00\x00chenyyq\x02X\x03\x00\x00\x00ageq\x03K\x14u.pickel.dump()直接把一个序列化对象写入文件 f open(dump.txt, wb) pickle.dump(d, f) f.close()2、pickel.loads()反序列化出对象 pickle.loads(a) {name: chenyy, age: 20}pickle.load()方法从一个file-like Object中直接反序列化出对象 f open(dump.txt, rb) d pickle.load(f) f .close() d {name: chenyy, age: 20}json import json1、json.dumps()把对象转化为一个字符串 d dict(namechenyy, age18) json.dumps(d) {name: chenyy, age: 18} json.dump()方法可以直接把json写入一个file-like Object2、json.loads()把json反序列化为python对象 json_str json.dumps(d) json.loads(json_str ) {name: chenyy, age: 18}json.load()方法从file-like Object中读取字符串并反序列化os1、os.getcwd()获取当前工作目录 os.getcwd() C:\\Users\\HONOUR-CYY2、os.chdir(dir)改变当前脚本工作目录 os.chdir(D:) os.getcwd() D:\\3、os.pardir返回当前目录的父目录’…’ os.pardir ..4、os.curdir返回当前目录’.’ os.curdir .5、os.makedirs(dir)递归生成多层目录 os.makedirs(a/b/c)6、os.removedirs(dir)递归向上删除空目录。如果目录非空则抛出异常 os.removedirs(D:/a/b/c)7、os.mkdir(dir)生成目录os.mkdir(b)8、os.rmdir(dir)删除一个空目录9、os.listdir()返回指定目录下的所有文件和子目录包括隐藏文件以列表形式返回。只会获取一层10、os.remove(file)删除一个文件11、os.rename(‘oldname’,‘newname’)重命名文件或目录12、os.stat()获取文件或目录信息 os.stat(./d.txt) os.stat_result(st_mode33206, st_ino562949953466137, st_dev462496, st_nlink1, st_uid0, st_gid0, st_size12, st_atime1506996315, st_mtime1506996321, st_ctime1506996315)13、os.sep返回操作系统特定的分隔符win下为’\’Linux下为‘/’ os.sep \\14、os.linesep返回操作系统的行终止符win下为\r\nLinux下为\n os.linesep \r\n16、os.name返回当前操作系统win os.name nt linux os.name posix17、os.system(command)可以用来直接运行shell命令 os.system(tree) 卷 文档 的文件夹 PATH 列表 卷序列号为 0000008E 0007:0EA0 E:. └─d └─b └─c 018、os.environ返回系统环境变量19、os.path.abspath(path)返回path规范化的绝对路径 os.path.abspath(./d.txt) E:\\test\\d.txt20、os.path.split(path)将path分割成目录和文件名以元组返回 os.path.split(D:/test/d.txt) (D:/test, d.txt) os.path.split(F:/python/a) (F:/python, a)21、os.path.dirname(path)返回path的目录即os.path.split(path)获取的第一个元素 os.path.dirname(D:/test/d.txt) D:/test os.path.dirname(F:/python/a) F:/python22、os.path.basename(path)返回os.path.split(path)获取的第二个元素 os.path.basename(D:/test/d.txt) d.txt os.path.basename(F:/python/a) a23、os.path.exists(path)判断path是否存在返回布尔值 os.path.exists(E:/test/d) True os.path.exists(E:/test/d.txt True24、os.path.isabs(path)是否为绝对路径返回布尔值 os.path.isabs(E:/test/d.txt) True os.path.isabs(./x.txt) False25、os.path.isfile(file)判断文件是否存在返回布尔值。目录返回False os.path.isfile(./d.txt) True26、os.path.isdir(dir)判断目录是否存在返回布尔值。文件返回False os.path.isdir(./d) True27、os.path.join(path1[, path2…])将多个路径组合后返回 os.path.join(/data,myproject,chenyy) /data/myproject/chenyy28、os.path.getatime(path)返回path所指向的文件或者目录的最后存取时间浮点数 os.path.getatime(./d.txt) 1506996315.76682529、os.path.getmtime(path)返回path所指向的文件或目录的最后修改时间浮点数 os.path.getmtime(./d.txt) 1506996321.781270330、os.path.getctime(path)返回path的创建时间浮点数 os.path.getctime(./d.txt) 1506996315.76682531、os.path.getsize(file)返回文件大小如果是目录则返回0 os.path.getsize(./d.txt) 12 os.path.getsize(./d) 032、os.path.splitext(file) os.path.splitext(log.text) 以元组形式返回文件名和后缀 (log, .text)33、os.startfile(path)windows中特有的函数启动外部程序hashlib import hashlib md5 hashlib.md5() md5.update(123456.encode(utf-8)) md5.hexdigest() e10adc3949ba59abbe56e057f20f883e 如果数据量很大可以分块多次调用update()最后计算的结果是一样的 md5 hashlib.md5() md5.update(123.encode(utf-8)) md5.update(456.encode(utf-8)) md5.hexdigest() e10adc3949ba59abbe56e057f20f883econfigparser解析配置文件假设有个ini的配置文件内容如下[cyy] age 18 name cyy [chenyy] age : 24 name : chenyy import configparser con configparser.ConfigParser() con.read(ini, encodingutf-8) [ini]con.sections()获取所有节点 con.sections() [cyy, chenyy]con.options(section)获取指定节点下所有键 con.options(cyy) [age, name]con.items(section)获取指定节点下所有键值对 con.items(chenyy) [(age, 24), (name, chenyy)]con.get(section,key)获取指定节点下指定键对应的值 con.get(chenyy,age) 24 con.getint(section,key) #把返回的值转换为整型 con.getfloat(section,key) #把返回的值转换为浮点型 con.getboolean(section,key) #把返回的值转换为布尔型con.has_section(section)检查节点是否存在返回布尔值 con.has_section(abc) False con.has_section(cyy) Truecon.add_section(section)con.write(open(file,‘w’))添加节点 con.add_section(abc) con.write(open(ini,w))con.remove_section(section)con.write(open(file,‘w’))删除节点返回布尔值删除成功后需要写入保存 con.remove_section(abc) True con.write(open(ini,w))con.has_option(section,key)检查节点下的key是否存在返回布尔值 con.has_option(cyy,age) Truecon.set(section,key,value)con.write(open(file,‘w’))设置指定节点下的键值对 con.set(chenyy,name,chenyy) con.write(open(ini,w))con.remove_option(section,key)con.write(open(file,‘w’))删除指定节点下的键返回布尔值删除成功后需要写入文件保存 con.remove_option(chenyy,name) True con.write(open(ini,w))shutil文件、文件夹、压缩包处理模块 import shutil1、shutil.copyfileobj(oldfile_object,newfile_object)将文件内容拷贝到另一个文件中 import shutil shutil.copyfileobj(open(ini,r),open(new,w))2、shuutil.copyfile(filepath,filepath)拷贝文件文件不存在则创建 shutil.copyfile(d.txt,./d/d.txt) ./d/d.txt3、shutil.copymode()仅拷贝权限内容组用户均不变4、shutil.copystat()仅拷贝文件的状态信息包括mode bits, atime, mtime, flags5、shutil.copy()拷贝文件和权限6、shutil.copy2()拷贝文件和状态7、shutil.copytree(olddir, newdir, symlinksFalse, ignoreNone)递归拷贝目录下的所有文件和文件夹,newdir不存在则创建参数ignoreshutil.ignore_patterns(pattern)代表不拷贝正则匹配项匹配到的文件或目录8、shutil.rmtree(dir)递归删除目录下的所有文件和文件夹9、shutil.move(olddir, newdir)递归移动目录也可重命名目录类似linux的mv10、shutil.make_archive(filename, format, root_dir,owner,group)压缩文件返回压缩后的压缩包绝对路径filename压缩包的文件名可以指定路径format压缩包种类zip,tar,bztar,gztarroot_dir需要压缩文件的路径owner用户默认当前用户、group组默认当前组 shutil.make_archive(../www,gztar,root_dir./o) E:\\www.tar.gzzipfile import zipfile压缩文件z zipfile.ZipFile(zipname,format)z.write(filename)z.close()format文件写入模式‘w’, ‘a’。w方式会清空压缩包里的所有内容 import zipfile z zipfile.ZipFile(test.zip, a) z.write(./d.txt) #如果写入一个目录则只会写入一个空目录不会写入该目录下其它文件或文件夹 z.close()解压文件z zipfile.ZipFile(zipname,format)z.extractall()z.close()解压过后压缩包文件仍然在 zip zipfile.ZipFile(./test.zip,r) zip.extractall() zip.close()z zipfile.ZipFile(zipname,format)z.namelist()z.close()以列表返回压缩包里的所有文件和目录 z zipfile.ZipFile(test.zip,r) z.namelist() [new, d/]z zipfile.ZipFile(zipname,format)z.extract(file)z.close()解压压缩包里的指定文件或目录 z zipfile.ZipFile(test.zip,r) z.extract(new) E:\\test\\new z.close()tarfile import tarfile压缩tar tarfile.open(tarname,format) tar.add(filepath,arcnamealias) tar.close() #arcname把文件压缩进压缩包后可以换个文件名 #解压 tar tarfile.open(tarname,format) tar.extractall() tar.close()logging记录日志 import logginglogging.basicConfig( filenamelog.log, format%(asctime)s - %(name)s - %(levelname)s - %(module)s: %(message)s, datefmt%Y-%m-%d %H:%M:%S %p, levellogging.INFO ) #level日志等级 CRITICAL 50 FATAL CRITICAL ERROR 40 WARNING 30 WARN WARNING INFO 20 DEBUG 10 NOTSET 0 logging.critical() logging.fatal() logging.error() logging.waring() logging.info() logging.debug()collectionsnamedtuple(name,[属性list])namedtuple是一个函数它用来创建一个自定义的tuple对象并且规定了tuple元素的个数并可以用属性而不是索引来引用tuple的某个元素 from collections import namedtuple P namedtuple(Point, [x, y]) p P(1, 2) p.x 1 p.y 2deque使用list存储数据时按索引访问元素很快但是插入和删除元素就很慢了因为list是线性存储数据量大的时候插入和删除效率很低。deque是为了高效实现插入和删除操作的双向列表适合用于队列和栈 from collections import deque q deque([a, b, c]) q.append(d) q.appendleft(o) q deque([o, a, b, c, d])deque除了实现list的append()和pop()外还支持appendleft()和popleft()defaultdictdefaultdict创建的字典在引用的key不存在时返回一个默认值 from collections import defaultdict dd defaultdict(lambda: N/A) dd[key1] a dd[key1] a dd[key2] N/AOrderedDictOrderedDict会根据插入key的顺序排序 from collections import OrderedDict od OrderedDict() od[a] 1 od[c] 2 od[b] 3 od OrderedDict([(a, 1), (c, 2), (b, 3)])itertoolschain()chain()可以把一组迭代对象串联起来形成一个更大的迭代器 import itertools for i in itertools.chain(abc, xyz, def): ... print(i) ... a b c x y z d e f原文地址

相关新闻

物联网设备低功耗优化:NBM7100A电源管理方案解析

物联网设备低功耗优化:NBM7100A电源管理方案解析

1. 项目背景与核心挑战在物联网设备设计中,初级电池(不可充电电池)的寿命优化一直是个关键难题。典型的AA/AAA碱性电池在低功耗设备中通常只能维持数月到一年的工作,而许多工业物联网节点需要5年甚至更长的续航能力。这种矛盾催生…

2026/7/28 18:36:14 阅读更多 →
【论文研读笔记---九】EAST文本检测

【论文研读笔记---九】EAST文本检测

论文研读系列汇总: 1.AlexNet论文研读 2.VGG论文研读 3.GoogLeNet论文研读 4.Faster RCNN论文研读 5.ResNet 论文研读 6.SENet 论文研读 7.CTPN 论文研读 8.CRNN 论文研读 9.EAST 论文研读 文本检测领域,有一篇经典的论文,是旷世科技在2017年提出来的EAST模型,论文的全称…

2026/7/28 18:35:14 阅读更多 →
图

图 图是一个用线或边连接在一起的顶点或节点的集合。 图是有限级V和E的有序对,即G(V,E),其中V为顶点,E的元素也称为边(弧或线)。元组 每一条边连接两个不同的元组(i,j&am…

2026/7/28 18:35:14 阅读更多 →

最新新闻

计算机JAVA毕设实战-基于 WEB 架构的校园心理健康咨询互助平台 高校学生心理科普与社区互助服务系统设计【完整源码+LW+部署说明+演示视频,全bao一条龙等】

计算机JAVA毕设实战-基于 WEB 架构的校园心理健康咨询互助平台 高校学生心理科普与社区互助服务系统设计【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/28 18:42:16 阅读更多 →
计算机JAVA毕设实战-基于 SpringBoot 的智能教育资源匹配推荐系统 面向用户学习偏好的在线教育推荐服务平台【完整源码+LW+部署说明+演示视频,全bao一条龙等】

计算机JAVA毕设实战-基于 SpringBoot 的智能教育资源匹配推荐系统 面向用户学习偏好的在线教育推荐服务平台【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/28 18:42:16 阅读更多 →
模型越多,系统越脆?用创源AIGC搭建事件驱动的全模态内容控制平面

模型越多,系统越脆?用创源AIGC搭建事件驱动的全模态内容控制平面

一、500 模型不是能力清单,而是一套需要治理的分布式系统 很多团队第一次接触聚合型 AIGC 平台,注意力都会落在模型数量上:能否调用 DeepSeek V3,是否提供 Gemini 3.6 路由,图像区域有没有 Midjourney,音频…

2026/7/28 18:42:16 阅读更多 →
压岁钱

压岁钱

Problem Description SuShan过年要给孩子们发压岁钱喽,由于家里孩子很多,这可急坏了SuShan。你肯定以为她在担心钱不够,那你错了,她可是个有钱人儿,不差钱儿。她担心的是每个人分多少从而保证公平。 SuShan从瑞士银行提…

2026/7/28 18:42:16 阅读更多 →
作为一个APP开发项目经理的主要工作是什么

作为一个APP开发项目经理的主要工作是什么

每个APP开发项目在开发过程中,从需求调研,需求分析,原型设计,UI设计到开发,测试,整个过程中项目管理都起着非常重要的作用。这就对项目经理的能力需要有一定的要求,也是项目经理的主要工作任务了…

2026/7/28 18:42:15 阅读更多 →
Context上下文包套路入门(1)

Context上下文包套路入门(1)

context包被称为上下文包,go 1.7加入,用于协程之间的上下文数据的传递、中止核控制超时。 在网络编程中可用于请求的中止,比如服务访问链的中止:a用户注册->b调用用户服务->c调用积分服务。 其中a调用b,b调用c。…

2026/7/28 18:41:15 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻