当前位置: 首页 > news >正文

25.8.7python模块1

一、time

时间戳: time()

格式化时间: strftime(%Y.%m.%d %X,)

%Y年份(以小数形式表示世纪)。%m月份(以小数形式表示)[01,12]。%d日期(以小数形式表示)[01,31]。%H小时(24小时制)[00,23]。%M分钟(以小数形式表示)[00,59]。%S秒(以小数形式表示)[00,61]。%z与UTC时区的偏移量。%a当地语言环境下的星期几缩写名称。%A当地语言环境下的星期几全称。%b当地语言环境下的月份缩写名称。%B当地语言环境下的月份全称。%c当地语言环境下的日期时间格式。%I小时(12小时制)[01,12]。%p当地语言环境中的上午或下午对应词。

结构化时间: localtime() #北京时间 \ gmtime() #格林尼治时间

import time
print(time.time())
print(time.strftime('%Y.%m.%d %X'))
print(time.localtime())
print(time.gmtime())
1754549308.0302851
2025.08.07 14:48:28
time.struct_time(tm_year=2025, tm_mon=8, tm_mday=7, tm_hour=14, tm_min=48, tm_sec=28, tm_wday=3, tm_yday=219, tm_isdst=0)
time.struct_time(tm_year=2025, tm_mon=8, tm_mday=7, tm_hour=6, tm_min=48, tm_sec=28, tm_wday=3, tm_yday=219, tm_isdst=0)

结构化时间转化为格式化时间

struct_time = time.localtime()
print(type(struct_time))
t1 = time.strftime('%Y.%m.%d',struct_time)
print(t1,type(t1))
<class 'time.struct_time'>
2025.08.07 <class 'str'>

格式化时间转化为结构化时间

format_time = time.strftime('%a %b %d %H:%M:%S %Y')
print(format_time)
print(time.strptime(format_time))
print(time.strptime('2025.8.7','%Y.%m.%d'))
Thu Aug 07 15:03:49 2025
time.struct_time(tm_year=2025, tm_mon=8, tm_mday=7, tm_hour=15, tm_min=3, tm_sec=49, tm_wday=3, tm_yday=219, tm_isdst=-1)
time.struct_time(tm_year=2025, tm_mon=8, tm_mday=7, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=219, tm_isdst=-1)

时间戳转结构化时间

stamp_time = time.time()
print(stamp_time, type(stamp_time))
print(time.localtime(stamp_time))
1754550396.019953 <class 'float'>
time.struct_time(tm_year=2025, tm_mon=8, tm_mday=7, tm_hour=15, tm_min=6, tm_sec=36, tm_wday=3, tm_yday=219, tm_isdst=0)

睡眠sleep(秒数)

time1 = time.time()
time.sleep(3)
time2 = time.time()
print(f'{time2-time1}')
3.0004215240478516

计算机元年

print(time.localtime(0))
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)

二、datetime

获取当前时间 datetime.datetime.now()

import datetime
now = datetime.datetime.now()
print(now, type(now))
now_time = str(now)
print(f'现在是{now_time.split()[0]}')
2025-08-07 15:55:30.303149 <class 'datetime.datetime'>
现在是2025-08-07

时间运算 +-(天\时\分\秒)

datetime.timedelta(默认天)

print(now)
print(now + datetime.timedelta(3))
print(now - datetime.timedelta(days=3))
print(now + datetime.timedelta(hours=3))
print(now - datetime.timedelta(minutes=30))
print(now + datetime.timedelta(seconds=20))
2025-08-07 15:55:30.303149
2025-08-10 15:55:30.303149
2025-08-04 15:55:30.303149
2025-08-07 18:55:30.303149
2025-08-07 15:25:30.303149
2025-08-07 15:55:50.303149

时间替换 replace()

print(now)
print(now.replace(year=2024, month=11, day=7, hour=14, minute=55))
2025-08-07 15:55:30.303149
2024-11-07 14:55:30.303149

三、random

import random

(0,1)

print(random.random())
0.4224255212354475

[n,m]整

print(random.randint(1,50))
32

[n,m]浮点

print(random.uniform(1,2))
1.5284873820241818

[n,m)整

print(random.randrange(1,2))
print(random.randrange(1,2))
print(random.randrange(1,2))
print(random.randrange(1,2))
print(random.randrange(1,2))
1
1
1
1
1

随机选一个choice(列表)

print(random.choice([1,2,'a','b',time.time()]))
print(random.choice([1,2,'a','b',time.time()]))
print(random.choice([1,2,'a','b',time.time()]))
print(random.choice([1,2,'a','b',time.time()]))
print(random.choice([1,2,'a','b',time.time()]))
print(random.choice([1,2,'a','b',time.time()]))
print(random.choice([1,2,'a','b',time.time()]))
b
2
b
a
a
1754557089.6325483
2

随机选多个sample(列表,个数)

print(random.sample([1,2,'a','b',time.time()],2))
print(random.sample([1,2,'a','b',time.time()],2))
print(random.sample([1,2,'a','b',time.time()],2))
print(random.sample([1,2,'a','b',time.time()],2))
['b', 1]
[1, 1754558172.9625027]
[1, 'a']
[2, 1]

打乱容器shuffle()

lis = [1,2,'a','b',time.time()]
random.shuffle(lis)
print(lis)
random.shuffle(lis)
print(lis)
random.shuffle(lis)
print(lis)
random.shuffle(lis)
print(lis)
[2, 1754558312.1795638, 'a', 1, 'b']
['b', 1754558312.1795638, 1, 2, 'a']
['a', 'b', 1754558312.1795638, 2, 1]
[2, 'a', 1754558312.1795638, 'b', 1]

四、OS #与操作系统交互

import os

创建文件夹mkdir()

删除空文件夹,递归往上删除空文件夹removedirs(path)

删除一个空文件夹rmdir(path)

os.mkdir('n')
os.removedirs(r'D:\新建文件夹\新建文件夹\新建文件夹\新建文件夹\新建文件夹')
os.rmdirs(r'D:\新建文件夹\新建文件夹\新建文件夹\新建文件夹\新建文件夹')

列出文件夹内所有文件名和隐藏文件名listdir()

删除文件remove()

重命名文件rename(旧名字path,新名字path)

打印环境变量environ

返回path的目录path.dirname(文件path)

print(os.path.dirname(__file__)) # 在脚本文件中用
---------------------------------------------------------------------------NameError                                 Traceback (most recent call last)Cell In[15], line 1
----> 1 print(os.path.dirname(__file__))NameError: name '__file__' is not defined

文件是否存在path.exists()

拼接文件路径path.jion(文件夹路径,文件)

计算文件大小path.getsize()

打印文件夹下所有文件夹和文件walk()

print(os.path.getsize(r'D:桌面\game'))
print(list(os.walk(r'D:桌面\supermarket')))
4096
[('D:桌面\\supermarket', ['models', 'output', 'videos', 'yolov5', '__pycache__'], ['desktop.ini', 'head_detector.py', 'main.py', 'Project structure.py']), ('D:桌面\\supermarket\\models', [], ['age_deploy.prototxt', 'age_net.caffemodel', 'deploy.prototxt', 'desktop.ini', 'gender_deploy.prototxt', 'gender_net.caffemodel', 'Head_Detect_best.onnx', 'opencv_face_detector.pbtxt', 'opencv_face_detector_uint8.pb', 'res10_300x300_ssd_iter_140000.caffemodel', 'yolov5s.pt']), ('D:桌面\\supermarket\\output', [], []), ('D:桌面\\supermarket\\videos', [], ['input_video.mp4']), ('D:桌面\\supermarket\\yolov5', ['.git', '.github', 'classify', 'data', 'models', 'segment', 'utils'], ['.dockerignore', '.gitattributes', '.gitignore', 'benchmarks.py', 'CITATION.cff', 'CONTRIBUTING.md', 'detect.py', 'export.py', 'hubconf.py', 'LICENSE', 'pyproject.toml', 'README.md', 'README.zh-CN.md', 'requirements.txt', 'train.py', 'tutorial.ipynb', 'val.py']), ('D:桌面\\supermarket\\yolov5\\.git', ['hooks', 'info', 'logs', 'objects', 'refs'], ['config', 'description', 'HEAD', 'index', 'packed-refs']), ('D:桌面\\supermarket\\yolov5\\.git\\hooks', [], ['applypatch-msg.sample', 'commit-msg.sample', 'fsmonitor-watchman.sample', 'post-update.sample', 'pre-applypatch.sample', 'pre-commit.sample', 'pre-merge-commit.sample', 'pre-push.sample', 'pre-rebase.sample', 'pre-receive.sample', 'prepare-commit-msg.sample', 'push-to-checkout.sample', 'sendemail-validate.sample', 'update.sample']), ('D:桌面\\supermarket\\yolov5\\.git\\info', [], ['exclude']), ('D:桌面\\supermarket\\yolov5\\.git\\logs', ['refs'], ['HEAD']), ('D:桌面\\supermarket\\yolov5\\.git\\logs\\refs', ['heads', 'remotes'], []), ('D:桌面\\supermarket\\yolov5\\.git\\logs\\refs\\heads', [], ['master']), ('D:桌面\\supermarket\\yolov5\\.git\\logs\\refs\\remotes', ['origin'], []), ('D:桌面\\supermarket\\yolov5\\.git\\logs\\refs\\remotes\\origin', [], ['HEAD']), ('D:桌面\\supermarket\\yolov5\\.git\\objects', ['info', 'pack'], []), ('D:桌面\\supermarket\\yolov5\\.git\\objects\\info', [], []), ('D:桌面\\supermarket\\yolov5\\.git\\objects\\pack', [], ['pack-811a6b7ff8a7919b2f80ea57fef8c00a685d9c64.idx', 'pack-811a6b7ff8a7919b2f80ea57fef8c00a685d9c64.pack', 'pack-811a6b7ff8a7919b2f80ea57fef8c00a685d9c64.rev']), ('D:桌面\\supermarket\\yolov5\\.git\\refs', ['heads', 'remotes', 'tags'], []), ('D:桌面\\supermarket\\yolov5\\.git\\refs\\heads', [], ['master']), ('D:桌面\\supermarket\\yolov5\\.git\\refs\\remotes', ['origin'], []), ('D:桌面\\supermarket\\yolov5\\.git\\refs\\remotes\\origin', [], ['HEAD']), ('D:桌面\\supermarket\\yolov5\\.git\\refs\\tags', [], []), ('D:桌面\\supermarket\\yolov5\\.github', ['ISSUE_TEMPLATE', 'workflows'], ['dependabot.yml']), ('D:桌面\\supermarket\\yolov5\\.github\\ISSUE_TEMPLATE', [], ['bug-report.yml', 'config.yml', 'feature-request.yml', 'question.yml']), ('D:桌面\\supermarket\\yolov5\\.github\\workflows', [], ['ci-testing.yml', 'cla.yml', 'docker.yml', 'format.yml', 'links.yml', 'merge-main-into-prs.yml', 'stale.yml']), ('D:桌面\\supermarket\\yolov5\\classify', [], ['predict.py', 'train.py', 'tutorial.ipynb', 'val.py']), ('D:桌面\\supermarket\\yolov5\\data', ['hyps', 'images', 'scripts'], ['Argoverse.yaml', 'coco.yaml', 'coco128-seg.yaml', 'coco128.yaml', 'GlobalWheat2020.yaml', 'ImageNet.yaml', 'ImageNet10.yaml', 'ImageNet100.yaml', 'ImageNet1000.yaml', 'Objects365.yaml', 'SKU-110K.yaml', 'VisDrone.yaml', 'VOC.yaml', 'xView.yaml']), ('D:桌面\\supermarket\\yolov5\\data\\hyps', [], ['hyp.no-augmentation.yaml', 'hyp.Objects365.yaml', 'hyp.scratch-high.yaml', 'hyp.scratch-low.yaml', 'hyp.scratch-med.yaml', 'hyp.VOC.yaml']), ('D:桌面\\supermarket\\yolov5\\data\\images', [], ['bus.jpg', 'zidane.jpg']), ('D:桌面\\supermarket\\yolov5\\data\\scripts', [], ['download_weights.sh', 'get_coco.sh', 'get_coco128.sh', 'get_imagenet.sh', 'get_imagenet10.sh', 'get_imagenet100.sh', 'get_imagenet1000.sh']), ('D:桌面\\supermarket\\yolov5\\models', ['hub', 'segment', '__pycache__'], ['common.py', 'experimental.py', 'tf.py', 'yolo.py', 'yolov5l.yaml', 'yolov5m.yaml', 'yolov5n.yaml', 'yolov5s.yaml', 'yolov5x.yaml', '__init__.py']), ('D:桌面\\supermarket\\yolov5\\models\\hub', [], ['anchors.yaml', 'yolov3-spp.yaml', 'yolov3-tiny.yaml', 'yolov3.yaml', 'yolov5-bifpn.yaml', 'yolov5-fpn.yaml', 'yolov5-p2.yaml', 'yolov5-p34.yaml', 'yolov5-p6.yaml', 'yolov5-p7.yaml', 'yolov5-panet.yaml', 'yolov5l6.yaml', 'yolov5m6.yaml', 'yolov5n6.yaml', 'yolov5s-ghost.yaml', 'yolov5s-LeakyReLU.yaml', 'yolov5s-transformer.yaml', 'yolov5s6.yaml', 'yolov5x6.yaml']), ('D:桌面\\supermarket\\yolov5\\models\\segment', [], ['yolov5l-seg.yaml', 'yolov5m-seg.yaml', 'yolov5n-seg.yaml', 'yolov5s-seg.yaml', 'yolov5x-seg.yaml']), ('D:桌面\\supermarket\\yolov5\\models\\__pycache__', [], ['common.cpython-38.pyc', 'experimental.cpython-38.pyc', 'yolo.cpython-38.pyc', '__init__.cpython-38.pyc']), ('D:桌面\\supermarket\\yolov5\\segment', [], ['predict.py', 'train.py', 'tutorial.ipynb', 'val.py']), ('D:桌面\\supermarket\\yolov5\\utils', ['aws', 'docker', 'flask_rest_api', 'google_app_engine', 'loggers', 'segment', '__pycache__'], ['activations.py', 'augmentations.py', 'autoanchor.py', 'autobatch.py', 'callbacks.py', 'dataloaders.py', 'downloads.py', 'general.py', 'loss.py', 'metrics.py', 'plots.py', 'torch_utils.py', 'triton.py', '__init__.py']), ('D:桌面\\supermarket\\yolov5\\utils\\aws', [], ['mime.sh', 'resume.py', 'userdata.sh', '__init__.py']), ('D:桌面\\supermarket\\yolov5\\utils\\docker', [], ['Dockerfile', 'Dockerfile-arm64', 'Dockerfile-cpu']), ('D:桌面\\supermarket\\yolov5\\utils\\flask_rest_api', [], ['example_request.py', 'README.md', 'restapi.py']), ('D:桌面\\supermarket\\yolov5\\utils\\google_app_engine', [], ['additional_requirements.txt', 'app.yaml', 'Dockerfile']), ('D:桌面\\supermarket\\yolov5\\utils\\loggers', ['clearml', 'comet', 'wandb'], ['__init__.py']), ('D:桌面\\supermarket\\yolov5\\utils\\loggers\\clearml', [], ['clearml_utils.py', 'hpo.py', 'README.md', '__init__.py']), ('D:桌面\\supermarket\\yolov5\\utils\\loggers\\comet', [], ['comet_utils.py', 'hpo.py', 'optimizer_config.json', 'README.md', '__init__.py']), ('D:桌面\\supermarket\\yolov5\\utils\\loggers\\wandb', [], ['wandb_utils.py', '__init__.py']), ('D:桌面\\supermarket\\yolov5\\utils\\segment', [], ['augmentations.py', 'dataloaders.py', 'general.py', 'loss.py', 'metrics.py', 'plots.py', '__init__.py']), ('D:桌面\\supermarket\\yolov5\\utils\\__pycache__', [], ['augmentations.cpython-38.pyc', 'autoanchor.cpython-38.pyc', 'dataloaders.cpython-38.pyc', 'downloads.cpython-38.pyc', 'general.cpython-312.pyc', 'general.cpython-38.pyc', 'metrics.cpython-38.pyc', 'plots.cpython-38.pyc', 'torch_utils.cpython-38.pyc', '__init__.cpython-312.pyc', '__init__.cpython-38.pyc']), ('D:桌面\\supermarket\\__pycache__', [], ['head_detector.cpython-38.pyc'])]

五、sys # 与python交互

import sys

命令行参数List,第一个元素是程序本身路径argv

获取解释器版本hexversion

获取当前文件导入模块的路径path

print(sys.argv)
print(sys.hexversion)
print(sys.path)
['D:\\anaconda3\\Lib\\site-packages\\ipykernel_launcher.py', '-f', 'C:\\Users\\86178\\AppData\\Roaming\\jupyter\\runtime\\kernel-5b6e8a4f-0df1-42fc-a77b-75b1fa6e3e11.json']
51120112
['C:\\Users\\86178', 'D:\\anaconda3\\python312.zip', 'D:\\anaconda3\\DLLs', 'D:\\anaconda3\\Lib', 'D:\\anaconda3', '', 'D:\\anaconda3\\Lib\\site-packages', 'D:\\anaconda3\\Lib\\site-packages\\win32', 'D:\\anaconda3\\Lib\\site-packages\\win32\\lib', 'D:\\anaconda3\\Lib\\site-packages\\Pythonwin', 'D:\\anaconda3\\Lib\\site-packages\\setuptools\\_vendor']

六、json

序列化 #从内存到硬盘保存数据(必须规定格式:json)

反序列化 #从硬盘中读取json文件

import json #所有语言都有json

json中只能写入python中的dict\list\str\int\float\bool\none

七、pickle

只有python可用,支持python的所有数据类型(函数)

其序列化形式是以二进制形式传输的

import pickle

存入内存dumps()

取出内存loads()

def f1():print('fi')
res = pickle.dumps(f1)
print(res,type(res))
res1 = pickle.loads(res)
print(res1,type(res1))
res1()
b'\x80\x04\x95\x13\x00\x00\x00\x00\x00\x00\x00\x8c\x08__main__\x94\x8c\x02f1\x94\x93\x94.' <class 'bytes'>
<function f1 at 0x000002A1C1588CC0> <class 'function'>
fi

存入文件dump()wb

读取文件loads()rb

with open('1.txt','wb') as fw:pickle.dump(func,fw)
with open('1.txt','rb') as fr:data = pickle.load(fr)
data()
http://www.sczhlp.com/news/8392/

相关文章:

  • 【总结】manacher
  • solidity学习之多签钱包
  • 软考系统分析师每日学习卡 | [日期:2025-08-08] | [今日主题:数据库三级模式两级映射]
  • 双指针
  • QML给Rectangle添加阴影
  • Python函数实战之ATM与购物车系统
  • 【鲜花】浙江游记
  • C++中 . 与- 的使用场景
  • 七天零基础学java(第二天)--赵姗姗
  • 业财融合:从思维差异到组织重构的转型指南 - 智慧园区
  • 2025-8-8 重新开始启动 - 小
  • 对于构造函数的笔记
  • Mac 在Dify平台中接入Ollama本地部署的模型
  • 求区间 [L,R] 中素数/最小公倍数的个数
  • 8.8随笔
  • m3u8 demo
  • G. Shorten the Array题解
  • 多项式基础函数
  • MX-2025 盖世计划 C 班 Day 5 复盘
  • 我是如何操纵Bugcrowd平台排名的 - 漏洞挖掘技术解析
  • 标注的原理:少而完备,监督模型训练的根本
  • channel
  • ARP协议详解:网络通信的幕后英雄
  • 20250808 做题记录
  • GPT-5 全面升级!ModelGate 平台首发上线体验
  • 4.1 ~ 4.2 EXTI外部中断 - LI,Yi
  • 实用指南:Nginx 配置负载均衡(详细版)
  • jarvisoj_fm 1
  • 2025.8.8打卡
  • 【项目落地】企业最高性价比AI项目:私有RAG知识库的跨行业赋能实践