Python常用类库与数据库访问实战:从数据清洗到入库出图
很多人学完 Python 的 if、for、函数之后都会卡在同一个地方语法都懂可真让你处理一份数据、存个库、画张图完全不知道该从哪个库下手。实验三“Python 常用类库与数据库访问”要解决的就是这个断层——它把语法知识和真实工作之间的桥搭起来核心就两件事一是把高频类库用熟二是把数据稳稳地送进数据库、再查出来。这篇博文不打算把实验报告重抄一遍而是按真实做实验的顺序把环境选型、类库用法、数据库访问和排错经验连起来讲。正在写这门实验的学生可以照着走工作中需要拿 Python 处理实际数据的测试、运维和数据分析新人也能在里面找到能直接抄走的套路。1. 实验到底在练什么方案选型与整体思路1.1 三层能力一条数据链路这个实验表面上叫“认识几个库”实际练的是一条完整的数据链路采集或构造数据 → 在内存里做处理 → 持久化到数据库 → 再读出来做展示和分析。三个环节各有代表性类库串起来就是最基础的数据工程闭环。网络上经常有人问“python 如何连接公司系统实现自动拉表”本质上就是这条链路的前半段用 requests 拉接口用 pandas 清洗再落库最后汇总成报表。做实验时不用想太复杂但要清楚每一步在整个链路里的位置这样以后换到真实环境不管是做业务报表还是监控数据脑子里的框架是一样的。如果只把目标定成“记住几个库的 import 语句”这个实验基本就白做了。真正要关注的是数据形态的变化从 JSON 或 CSV 变成 DataFrame从 DataFrame 变成数据库表从数据库表再变成图表这几次转换中各库负责什么才是核心能力。1.2 Python 版本与环境准备先说版本。很多旧教材默认 Python 3.7但现在的 pandas 2.x 要求 Python 3.9 以上所以别拿老版本环境硬跑新代码。我的建议是直接装 Python 3.10 或 3.11兼容性好遇到问题的概率最低。如果你是在 Linux 服务器上装思路一样无非是编译安装或加官方源注意把 pip 也一起配好。其次是包安装问题。新人最常见的报错是 pip 安装超时根源是默认源在境外。换国内镜像源一步到位python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy pandas matplotlib注意我特意写了python -m pip不是直接pip install。这样做能确保装到你当前使用的这个 Python 解释器环境里避免系统里有多个 Python 时装错地方这是“python 安装 numpy 库的方法”这个问题最常见的坑。还有一个容易踩的坑不要往全局环境里无脑装一堆包。实验课虽然不至于出大问题但养成用虚拟环境的习惯会省很多事python -m venv .venv # Windows: .venv\Scripts\activate # Linux/macOS: source .venv/bin/activate如果已经装错环境了排查方法很简单在代码里执行import sys; print(sys.executable)看它指向哪个 Python再用对应的 pip 去装。1.3 IDE 与调试工具怎么选选 IDE 不用太纠结。PyCharm 学生版免费VSCode 加 Python 插件也完全够用。我的建议是别把精力花在“哪个编辑器好看”上重点学会用调试器打断点。写数据处理代码时print大法虽然方便但遇到长循环和复杂数据结构很容易看花眼打断点能实时看到变量状态效率完全不一样。如果你习惯用 Jupyter 写实验报告要注意一个问题Jupyter 的单元格可以乱序执行很容易出现“这一步用到了上一步已经改过的变量”导致代码在 Jupyter 里能跑存成.py文件后从头跑就报错。提交作业前务必从头到尾完整执行一遍.py文件保证它是干净的、可复现的。2. 高频类库逐个过装库、导入和实战要点2.1 numpy把列表换成数组性能上一个台阶numpy 的核心是 ndarray也就是 N 维数组。很多初学者不理解为什么要用数组直接用列表不就行了区别在于列表是对象的集合运算时要逐个遍历元素慢数组是连续内存的数值块底层用 C 实现计算时能把循环省掉。你可以类比成列表像手写清单逐行看数组像电子表格的整列求和一下算完。创建数组的基本姿势import numpy as np a np.array([1, 2, 3]) zeros np.zeros((3, 3)) ones np.ones((2, 4)) seq np.arange(0, 10, 2) linespace np.linspace(0, 1, 5)数组切片是个重点也是容易出 bug 的地方。和一维列表切片相比二维数组切片更像“按行列切块”matrix np.arange(12).reshape(3, 4) # array([[ 0, 1, 2, 3], # [ 4, 5, 6, 7], # [ 8, 9, 10, 11]]) sub matrix[1:, 1:3]这里有个隐藏陷阱数组切片返回的是原数组的视图不是副本。sub[0, 0] 99会连带修改matrix里的值因为两者共享底层数据。想真正复制一份必须用sub matrix[1:, 1:3].copy()。另一个必须理解的概念是广播。简单说形状不完全相同的数组之间也能直接运算小的会自动铺开成大尺寸。比如一个(3, 1)数组和一个(1, 4)数组相加得到(3, 4)相当于把一张小表格按位置铺到一张大表格上做加法。刚开始可能觉得抽象写两遍代码感受一下就顺了。还有一个小细节热词里有“python 构建邻接矩阵”这在图论实验里很常见。邻接矩阵本质上就是二维数组一般这样构造n 5 adj np.zeros((n, n), dtypeint) adj[0, 1] 1 adj[1, 2] 1 adj[2, 0] 1abs函数也可以顺手掌握内置abs()作用于单个数值np.abs()能直接作用于整个数组对数组逐元素取绝对值一步到位。2.2 pandasDataFrame 就是你的 Excel 外挂pandas 里最重要的数据结构是 DataFrame。你可以直接把它当成 Excel 表格来理解行是记录列是字段能筛选、排序、分组、透视而且这些操作都能用代码自动化。读取数据的常用套路import pandas as pd df pd.read_csv(data.csv) df_excel pd.read_excel(data.xlsx, sheet_nameSheet1)注意读 Excel 文件不是 pandas 自带功能需要先装openpyxl这是最常漏装的依赖之一。如果你碰到的文件是旧版.xls还需要xlrd。拿到 DataFrame 后第一件事永远是看数据长什么样df.head() # 看前 5 行 df.info() # 看字段、非空值数量、数据类型 df.describe() # 看数值列的统计指标筛选数据是日常操作频率最高的功能。按列筛选用df[列名]或df[[列1, 列2]]按行筛选用布尔条件adult df[df[age] 18]这里有个很隐蔽的坑如果你写成df[df[age] 18]得到的是“满足条件的所有行”而不是“一个布尔序列”。很多新手第一次写会懵因为括号里的表达式返回的是一整列 True/False然后再用这个布尔序列去索引 DataFrame这就是 pandas 的布尔索引机制。按位置筛选和按标签筛选要分清df.iloc[0]是按第 0 行位置取df.loc[0]是按索引标签取。如果你用read_csv读文件默认索引是 0 到 n-1两者结果看起来一样很容易混淆一旦排序或去重后索引乱了结果就完全不同。类型转换也是高频操作。热词里有“python 类型转换”在 pandas 里最常用的是pd.to_numeric和astypedf[price] pd.to_numeric(df[price], errorscoerce) df[age] df[age].astype(int)为什么强调这个因为你从数据库、接口、文本里读到的数字经常是字符串形态。直接把字符串和数字做运算会报错或者得到莫名其妙的结果。用errorscoerce还能把无法转换的值变成NaN方便后续处理。另外一个值得知道的点pandas 是很多上层应用的基础。你以后看到“python 量化交易策略代码”底层无非是 pandas 处理行情数据、numpy 跑数值计算再叠一层策略逻辑本质都离不开这里学的 DataFrame 操作。2.3 matplotlib中文与刻度两个经典坑一次解决matplotlib 是绘图基础库基本流程固定建画布、画图、加标签、显示或保存。一个最小示例import matplotlib.pyplot as plt plt.plot([1, 2, 3], [4, 5, 6]) plt.xlabel(x) plt.ylabel(y) plt.show()真正让新手崩溃的是两个问题。第一个是中文乱码。matplotlib 默认字体不支持中文图里所有中文标签都会变成方块。解决方法是画图前加两行配置plt.rcParams[font.sans-serif] [SimHei, Microsoft YaHei] plt.rcParams[axes.unicode_minus] Falseaxes.unicode_minus这行也必须加否则坐标轴上的负号会显示成方框。Windows 下 SimHei 一般有效Linux 服务器上可能需要指定系统中文字体路径比如WenQuanYi Zen Hei或者干脆用Noto Sans CJK SC。第二个是横坐标太密集。日期型横坐标一旦数据量稍大刻度就挤成一团黑线。热词里搜“python 画图横坐标太密集”的人特别多解决办法很直接plt.xticks(rotation45) # 旋转 45 度如果旋转后还是挤就手动减少刻度数量比如每隔 5 个显示一个ticks range(0, len(df), max(1, len(df) // 10)) plt.xticks(ticksticks, rotation45)如果是日期数据还可以用matplotlib.dates里的定位器来控制刻度间隔比如MonthLocator和DateFormatter会更精细。2.4 其他常用库的快速认识除三大件外实验里还经常用到几个小库不需要深入研究但要知道它们是干嘛的。requests是 HTTP 请求的事实标准做接口调用和爬虫都靠它。如果你要“连接公司系统自动拉表”就是用它向内部接口发请求拿数据。json是标准库用来解析和生成 JSON 数据requests 拿到的响应体通常要转成 Python 字典或列表再交给 pandas。re是正则表达式库做文本清洗时很管用比如从日志里提取时间戳。collections.Counter适合做频率统计一行代码就能统计列表里每个元素出现的次数。scikit-learn简称 sklearn是机器学习常用库实验里如果涉及模型训练前的数据划分一般就用train_test_split。它在算法层面封装得很好但前提是你已经会用 pandas 把数据整理成它需要的格式。再提醒一个包名坑热词里有“python 下载 cv2”实际上cv2是 OpenCV 的 Python 模块名但 pip 安装时的包名是opencv-python。也就是说代码里写import cv2终端里却要执行pip install opencv-python。这种“包名和导入名不一致”的情况在 Python 生态里不少别按导入名去 pip 安装。最后提一下 OCR 库。如果你在实验里用到本地 OCR 库比如 rapidocr发现 CPU 占用特别高这其实是正常现象因为本地 OCR 本质是跑深度学习模型算力消耗天然大。生产环境里一般会用 GPU 加速或者直接调云上 API这不是你的代码有问题。3. 数据库访问的完整姿势SQLite、MySQL 与 Oracle3.1 sqlite3零配置起步先把事务搞清楚实验里最推荐的入门库是 Python 内置的sqlite3它不需要装数据库服务、不需要配置账号密码一个文件就是一个库最适合理解数据库的基本操作流程。最经典的读写模板import sqlite3 conn sqlite3.connect(demo.db) cur conn.cursor() cur.execute(CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY, name TEXT)) cur.execute(INSERT INTO user (name) VALUES (?), (张三,)) conn.commit() cur.execute(SELECT * FROM user) rows cur.fetchall() print(rows) conn.close()这段代码里有三个关键点。第一是参数化查询。我用?占位符传参而不是把变量直接拼接进 SQL 字符串。原因很直接直接拼接容易引发 SQL 注入而且当参数里含中文、引号、特殊符号时也容易出错。这个习惯必须从实验阶段就养成以后连 MySQL、Oracle 也一样。第二是commit。初学者最大的疑问是“为什么 insert 完关掉再打开数据没了”因为没执行conn.commit()。事务机制可以类比成文档编辑commit相当于点“保存”没有保存就关闭改动全部丢失close只是关窗口不是保存。第三是资源释放。最简单的写法是用with语句或try/finally确保关闭连接。如果忘记close短时实验看不出问题但脚本长时间跑就容易把连接耗尽。如果你想读取一张表直接变成 DataFrame还有一个便捷路子配合 SQLAlchemy 使用from sqlalchemy import create_engine engine create_engine(sqlite:///demo.db) df pd.read_sql_query(SELECT * FROM user, engine)这就是下一步要讲的重点用统一引擎去对接不同数据库。3.2 PyMySQL连 MySQL 时的两条实用配置很多课程后期会把数据库换成 MySQLPython 这边最常用的是 PyMySQL。安装命令python -m pip install pymysql连接写法import pymysql conn pymysql.connect( host127.0.0.1, port3306, userroot, password123456, databasetest, charsetutf8mb4, cursorclasspymysql.cursors.DictCursor ) cur conn.cursor() cur.execute(SELECT * FROM user WHERE id %s, (1,)) row cur.fetchone() conn.close()这里有两条实用配置值得记住。第一charset一定要写utf8mb4。它是 MySQL 对 UTF-8 的扩展实现能正确存储 emoji 和部分特殊字符也能避免中文乱码问题。很多人连 MySQL 后插入中文变成问号十有八九就是 charset 没设置。第二cursorclass用DictCursor后查询结果返回的是字典而不是默认的元组。字典的字段名访问方式row[name]可读性高很多特别配合 pandas 时更顺畅。如果你用的是 MySQL 8.0 以上默认认证插件可能是caching_sha2_password老版本的 PyMySQL 可能连不上升级 PyMySQL 到新版本即可解决。3.3 新版 Oracle 连接oracledb 的 thin 模式Oracle 在企业环境里很常见热词里“python 连接 oracle 查询数据”的频率也不低。注意一个历史变化旧教程里写的cx_Oracle已经改名成python-oracledb导入名也从cx_Oracle变成oracledb。现在安装直接python -m pip install oracledb新版最大的好处是默认支持 thin 模式即纯 Python 实现不需要额外安装 Oracle Instant Client。以前用 cx_Oracle 时经常报错DPI-1047就是因为本地缺少 Oracle 客户端库在新版里大部分场景已经不用管这个了。连接示例import oracledb conn oracledb.connect( userscott, passwordtiger, dsnoracledb.make_dsn(192.168.1.10, 1521, ORCLPDB1) ) cur conn.cursor() cur.execute(SELECT * FROM emp WHERE deptno :1, (10,)) rows cur.fetchall() conn.close()注意占位符是:1、:2这种格式不是?或%s这是 Oracle 和 MySQL 不同的地方。另一个容易搞混的是 SID 和 Service Name。make_dsn(host, port, ORCLPDB1)里的第三个参数是 Service Name不是 SID。如果 DBA 给你的是 SID可以尝试用oracledb.connect(user, password, host / sid)这种形式。连不上时先确认这两个概念比乱改代码更有效。3.4 生产环境还要考虑的事连接池、ORM 与特殊数据库实验阶段用裸连接就够了但如果你以后写真正的服务有两点必须知道连接池和 ORM。连接池的意思是不要把每个请求都新建一个数据库连接而是复用一批已经建立好的连接。Python 里可以用 DBUtils 的PooledDB也可以直接让 SQLAlchemy 的 engine 帮你管理。数据库连接的建立很昂贵相当于每次打电话都要重新拨号连接池就是保持通话不断线。ORM 是对象关系映射。它的价值在于用 Python 类来描述表结构让代码不再直接写 SQL 字符串。SQLAlchemy 是 Python 里最主流的 ORM 方案既有 ORM 的便利性又能保留执行原生 SQL 的能力。比如读取 CSV 后直接入库df.to_sql(user, engine, if_existsreplace, indexFalse)这一行就把 DataFrame 整体写进了数据库表是实验和日常工作中都极高频的操作。最后提一下时序数据库。有些场景会用到专门存时间序列数据的库比如热词里出现的松果时序数据库。这类数据库一般有官方 SDK或者提供兼容 InfluxDB 的查询接口可视化层面也有自己的控制台。你不需要在这个实验里深入研究它们但要明白定位差异关系库强在事务和复杂查询时序库强在高吞吐写入和时间范围聚合两者不是一个赛道的工具。4. 综合案例自动拉表、入库、成图、导出 Excel4.1 准备数据与清洗逻辑下面这个案例串起前面所有内容。场景模拟“连接公司系统自动拉表”从接口拿数据清洗后入库最后生成报表图。为了不依赖外部网络和真实服务我这里用本地 CSV 模拟接口返回字段结构和真实场景一致。假设有一个sales_data.csv包含订单日期、销售区域、销售额、客户等级四个字段import pandas as pd import sqlite3 import matplotlib.pyplot as plt plt.rcParams[font.sans-serif] [SimHei, Microsoft YaHei] plt.rcParams[axes.unicode_minus] False # 真实场景用 requests 请求接口拿到 JSON # resp requests.get(http://127.0.0.1:8000/api/sales, timeout5) # df pd.DataFrame(resp.json()) # 这里用本地 CSV 模拟效果等价 df pd.read_csv(sales_data.csv, parse_dates[date]) print(df.head())parse_dates[date]这一行很关键它把日期字符串解析成真正的日期类型。如果不转后面做按月聚合时 pandas 会不知道这是时间列也就分不了组。清洗逻辑按常见场景做三步去重、缺失值处理、类型修正。# 1. 去重 df df.drop_duplicates() # 2. 缺失值销售额为空的行直接丢弃区域为空则填充未知 df df.dropna(subset[amount]) df[region] df[region].fillna(未知) # 3. 类型修正确保销售额是数值 df[amount] pd.to_numeric(df[amount], errorscoerce) df df.dropna(subset[amount])drop_duplicates默认对所有列判断重复如果只想按订单号去重可以传subset[order_id]。to_numeric加上errorscoerce会把脏数据变成NaN所以后面必须再dropna一次否则脏数据会留在表里。4.2 入库与查询回读把清洗后的 DataFrame 写入 SQLite。这里我推荐用 SQLAlchemy 引擎因为 pandas 在最新版本里对to_sql的依赖要求更明确了直接用引擎最省心from sqlalchemy import create_engine engine create_engine(sqlite:///report.db) df.to_sql(sales, engine, if_existsreplace, indexFalse) print(写入完成行数, len(df))if_existsreplace的意思是如果表已经存在就删掉重建。实验阶段这样用没问题但真做增量任务时要注意别把历史数据冲掉那时需要改成if_existsappend。如果不想引入 SQLAlchemy也可以手动一条条插入conn sqlite3.connect(report.db) for row in df.itertuples(indexFalse): conn.execute( INSERT INTO sales (date, region, amount, level) VALUES (?, ?, ?, ?), (row.date, row.region, row.amount, row.level) ) conn.commit() conn.close()两种方式都能用但to_sql一行就搞定我建议你直接上 SQLAlchemy早晚都要学的。入库之后回读再加个筛选条件df_read pd.read_sql_query( SELECT * FROM sales WHERE amount 1000, engine )读到的是一个新的 DataFrame后面的分析和绘图都用这份数据。4.3 可视化与结果输出最后一步是生成月度汇总图并导出 Excel。按月份分组求和然后画折线图# 按月聚合销售额 monthly df_read.groupby(pd.Grouper(keydate, freqME))[amount].sum() plt.figure(figsize(10, 5)) plt.plot(monthly.index, monthly.values, markero) plt.title(月度销售额走势) plt.xlabel(月份) plt.ylabel(销售额) plt.xticks(rotation45) plt.tight_layout() plt.savefig(monthly_report.png, dpi150) plt.show()这里要注意一个版本细节pandas 2.2 之后freqM已经弃用推荐用MEmonth end。如果你装的是新版 pandas照抄老教程写M会收到 FutureWarning虽然不是致命错误但属于典型的版本迭代坑。以后查资料发现警告先看看是不是 API 改名了。导出 Excel 需要openpyxl别忘了df_read.to_excel(filtered_report.xlsx, indexFalse, sheet_name销售明细) print(已导出 Excel 和图片)这样整个流程就闭环了数据源进来清洗入库查询分析出图出 Excel。以后你在工作中处理任何报表把数据源一换、字段名一改这个框架可以直接复用。5. 排错实录我常遇到的几个坑和对应解法5.1 安装与导入类问题安装类报错集中在ModuleNotFoundError和pip timeout。前者基本是装错环境了后者换镜像源就行。一张表格把最典型的几个场景列出来报错现象常见原因解决办法ModuleNotFoundError: No module named cv2用导入名去 pip 安装pip install opencv-pythonpip install 超时/下载慢默认官方源在境外python -m pip install -i 清华源 包名ModuleNotFoundError: No module named openpyxlpandas 读写 Excel 需要额外依赖python -m pip install openpyxl代码在 Jupyter 能跑.py不能跑单元格乱序执行导致变量污染从头完整执行.py文件再做提交5.2 数据操作类问题数据操作的问题通常不是“报错”而是“结果不对”更难排查。比如筛选条件写错排序后索引错位类型不匹配等。现象原因处理分组聚合报KeyError分组字段被设成了索引reset_index()把索引还原成列中文标签变方框matplotlib 字体缺失设置rcParams[font.sans-serif]横坐标挤成黑条刻度太多plt.xticks(rotation45)或手动减少刻度数字列无法求和字段类型是字符串pd.to_numeric(..., errorscoerce)数组切片改值连原数组一起变了切片是视图不是副本需要独立数据时用.copy()5.3 数据库连接与提交类问题数据库相关的报错信息通常很直接但新手经常被信息量吓到。几个高频问题报错信息原因解法sqlite3.OperationalError: no such table表还没建或用错库检查connect路径和建表语句是否执行成功pymysql.err.OperationalError: 2003连不上 MySQL 服务检查 IP、端口、服务是否启动、防火墙pymysql.err.OperationalError: 1045用户名或密码错误核对账号授权DPI-1047Oracle 客户端缺失用 oracledb thin 模式无需客户端插入中文变乱码字符集不一致MySQL 连接加charsetutf8mb4insert 后查不到数据没执行commit记得conn.commit()5.4 一点实操体会带实验这几年我对“类库”这件事最大的体会是不要背 API要背“套路”。API 记不住很正常查文档就行但“清洗数据有三板斧”、“连接数据库要参数化”、“写完 SQL 记得 commit”这些套路是通用的换任何库都适用。还有一个习惯强烈建议培养把所有依赖写进一个requirements.txt用python -m pip freeze requirements.txt导出换环境时python -m pip install -r requirements.txt一次装齐。这个习惯能从根上解决“这代码在我电脑上明明能跑”这种问题。最后分享一个排错技巧报错信息不是每行都要读重点是最后一段也就是Error后面的那句话那才是真正的失败原因。前面堆栈里的调用过程大部分时候不需要逐行看。把最后一段抄进搜索引擎通常比你自己瞎猜快得多。

相关新闻

蒙特卡罗随机纤维生成:从算法原理到IDE插件化实践

蒙特卡罗随机纤维生成:从算法原理到IDE插件化实践

我最早接触随机纤维生成,是因为要给复合材料的微观有限元模型提供几何基础。当时手工在CAD里一根一根摆纤维,摆到第六十根已经想摔鼠标——纤维之间不能重叠、体积分数要精确、分布还要具备统计代表性。后来我把目光转向蒙特卡罗方法,用随机采…

2026/10/10 19:28:04 阅读更多 →
Spring Boot萌宠商城项目实战:从技术拆解到部署避坑

Spring Boot萌宠商城项目实战:从技术拆解到部署避坑

这个标题我太熟了——在各处刷到这种“Springboot萌宠商城网站6ul9k(程序源码数据库调试部署开发环境)带论文文档1万字以上”的时候,第一反应往往是“又是一个毕设项目打包”。但说句实在话,这种看似流水线出来的标题,…

2026/10/10 19:28:04 阅读更多 →
矢量圆艾里光束的Lumerical FDTD仿真与偏振转化效率分析

矢量圆艾里光束的Lumerical FDTD仿真与偏振转化效率分析

矢量圆艾里光束这个名字,听起来有点绕,但只要做过光束整形和微纳光学仿真的人,都知道这玩意儿的分量。先说一句大实话:网上能看到大量圆艾里光束的解析推导和MATLAB模拟结果,可真要从理论走向器件,把光场加…

2026/10/10 19:28:04 阅读更多 →

最新新闻

GPU算力怎么选?从并行计算到AI大模型实战指南

GPU算力怎么选?从并行计算到AI大模型实战指南

今年明显感觉身边聊GPU算力的人变多了。以前大家问显卡,翻来覆去就是“能不能流畅玩XX游戏”“帧率多少”,现在画风完全不一样了,开口就是“这卡能跑多少B参数的模型”“显存够不够微调”“深度学习吃不吃得消”。说白了,不管游戏…

2026/10/10 21:45:34 阅读更多 →
人脸识别门禁考勤系统毕设实战:OpenCV+MTCNN+FaceNet全解析

人脸识别门禁考勤系统毕设实战:OpenCV+MTCNN+FaceNet全解析

简介:一套完整的人脸识别系统毕业设计资料包,面向计算机视觉、图像处理与模式识别方向的本专科学生,尤其适合需要完成从算法原理到工程实现全流程毕业设计的读者。压缩包共80个文件,约2.18MB,以C源码为主,包…

2026/10/10 21:45:34 阅读更多 →
Agent Router 免费接入 codex、claude 后,如何把 API Key 配置到 CC Switch

Agent Router 免费接入 codex、claude 后,如何把 API Key 配置到 CC Switch

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 21:45:34 阅读更多 →
Operator 之后,开源社区半年追平 OpenAI:『看屏操作』CUA 开源化全面复盘

Operator 之后,开源社区半年追平 OpenAI:『看屏操作』CUA 开源化全面复盘

Operator 之后,开源社区半年追平 OpenAI:『看屏操作』CUA 开源化全面复盘 【免费下载链接】cua Scale computer-use 2.0 with open-source drivers, cross-OS fleets, and benchmarks for training, evaluation, and data generation. 项目地址: https…

2026/10/10 21:45:34 阅读更多 →
红黑树原理与实现:从2-3-4树到插入删除,对比B+树

红黑树原理与实现:从2-3-4树到插入删除,对比B+树

红黑树这名字起得挺贴切,它确实是一门“平衡的艺术”。但这门艺术折磨过的人也不少——网上关于红黑树的博客一搜一大把,有人上来就甩五个性质,有人画各种旋转图,你从头看到尾,脑子说懂了,手一写代码就懵。…

2026/10/10 21:45:34 阅读更多 →
ComfyUI 零插件跑通 H3:文生视频、图生视频、首尾帧一条龙实战

ComfyUI 零插件跑通 H3:文生视频、图生视频、首尾帧一条龙实战

ComfyUI 零插件跑通 H3:文生视频、图生视频、首尾帧一条龙实战 【免费下载链接】Minimax-h3_Singularity 项目地址: https://ai.gitcode.com/hf_mirrors/WarmBloodAban/Minimax-h3_Singularity MiniMax H3 开源后迅速成为开源社区关注度最高的视频生成模型&…

2026/10/10 21:44:33 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →