Python小游戏开发实战:从零用pygame做贪吃蛇的完整指南
看到“python只做小游戏”这个标题我第一反应是亲切。很多开发者对Python的第一份热情都是从让一个方块动起来、让一条蛇吃豆子开始的。小游戏这个场景恰恰是Python最能打、也最适合练手的领域之一它不依赖重型引擎不要求3D渲染管线一门语言加一个库几百行代码就能跑出一个有交互、有反馈、有计分规则的可玩作品。这篇文章不打算劝你去搞大型游戏引擎反而想认真聊聊为什么“只做小游戏”是一件值得做透的事以及从零开始把一个Python小游戏完整落地到底要经过哪些环节、踩过哪些坑、有哪些可以直接抄作业的经验。无论你是刚学完语法不知道能做什么的新手还是想用一两个小项目巩固编程思维的进阶学习者这篇内容都能给你一条清晰可靠的路线。我会用一套完整可复现的流程把工具选型、核心设计、代码实现、问题排查串起来尽量把每个“为什么这么做”背后的逻辑讲清楚。1. 为什么小游戏是Python最有价值的实战场1.1 先澄清一件事小游戏不等于玩具很多人一听“Python只做小游戏”会觉得这是技术含量低的事。真实情况恰恰相反小游戏是少数几个能在几百行代码里同时覆盖“输入处理、逻辑状态、渲染循环、碰撞检测、UI反馈”全部核心环节的完整项目形态。它不是玩具是“麻雀虽小五脏俱全”的训练场。我在带新人时经常说一句话如果你能把一个小游戏做利索你其实就掌握了绝大多数业务程序的底层运行模式。业务系统是“收到请求→更新数据库→返回结果”游戏是“检测输入→更新游戏状态→绘制画面”二者本质都是事件驱动的状态循环。小游戏把业务系统里隐藏起来的这一层逻辑变成了肉眼可见、手把手可调的东西这是写一千行CRUD都换不来的体感。1.2 从标题读出的两层信息“python只做小游戏”这个标题其实可以拆成两层来看。第一层是“用Python做小游戏”这对应的是工具和场景选什么库、怎么写游戏循环、怎么管理精灵和碰撞。第二层是“只做小游戏”这对应的是定位和边界不去碰重度3D引擎不在性能极致上死磕聚焦在Python生态最舒服的2D轻量游戏区间。我觉得“只做小游戏”不是束缚反而是明智的取舍。Python的执行效率决定了它不太适合做每帧百万级绘图的3A大作但它的开发效率、生态成熟度、上手曲线决定了它在2D小游戏、原型验证、教学演示、休闲娱乐这些场景里几乎没有对手。我见过一位开发者用Python写了个类似“别踩白块”的节奏小游戏只花了两个晚上然后拿去给产品团队做交互评审比PPT讲一百遍都有说服力。这就是小游戏的独特价值它是想法的可运行表达。1.3 做小游戏能练到的核心能力清单我列一下做小游戏实际练到的东西你对照着自检就知道这趟没白走事件循环思维所有游戏都是“持续运行→响应输入→更新状态→渲染输出”的循环这是GUI程序的基础。状态管理能力菜单状态、运行状态、暂停状态、结束状态的切换和业务系统里订单状态流转是同构的。坐标系与几何直觉屏幕坐标、碰撞边界、方向向量这些抽象概念在游戏里变得非常具体。资源管理图片、声音、字体的加载和释放和内存泄漏斗争从此开始。代码组织能力小游戏代码很容易写成一坨怎么用函数、类、模块拆分是早期必经的历练。2. 工具选型pygame / tkinter / turtle 到底怎么选2.1 三个常见选项的横向对比在Python小游戏这块主流选项其实就三个。我直接给你一张对比表省得你纠结。方案适用场景上手难度图形能力安装成本代表性功能turtle教学演示、几何图形游戏最低矢量绘图原地移动标准库零安装海龟绘图适合入门第一课tkinter极简小游戏、桌面工具较低基础控件与Canvas绘制标准库零安装Canvas做画板适合轻交互pygame2D游戏主力、原型开发中等位图/精灵/动画/音效需pip安装精灵组、碰撞检测、混合音频如果让我直接给建议认真做小游戏直接上pygame。turtle适合教孩子理解“循环坐标”tkinter适合做带按钮和输入框的工具型小游戏比如猜数字、打字测试但你要做贪吃蛇、飞机大战、俄罗斯方块这类有真实画面感和节奏感的游戏pygame的精灵系统、图像接口、音频模块会让你省太多力气。2.2 为什么pygame是事实标准我见过很多新手一上来就纠结要不要用更现代的库比如arcade或者panda3d。说句实在话pygame之所以长盛不衰核心原因就三个第一资料密度大。它存在这么多年从官方文档到社区教程到Stack Overflow的问答几乎所有你能想到的问题都有人踩过并留下答案。对一个新手来说“能搜到解”比“技术更先进”重要一百倍。第二接口足够底层但不过分。pygame给你的是一套“窗口事件绘制原语”它不会替你做游戏逻辑也不会绑死架构你可以自由掌控每一帧发生什么这对学习理解游戏原理极其友好。第三跨平台非常稳。我自己的项目在Windows、macOS、Linux三套环境跑过只要装好依赖代码几乎不用改。这一点对作品分发和课程作业评估都很重要。2.3 环境准备与工程初始化实操这里我直接给你一套经过验证的安装流程照着走一遍就能把环境拉起来。# 建议先创建虚拟环境避免污染全局Python python -m venv game_env # 激活虚拟环境 # Windows: game_env\Scripts\activate # macOS / Linux: source game_env/bin/activate # 安装pygame pip install pygame # 验证安装 python -c import pygame; print(pygame.version.ver)如果你遇到pip下载慢或者超时的问题用国内镜像源解决实测速度快好几倍pip install pygame -i https://pypi.tuna.tsinghua.edu.cn/simple关于虚拟环境我多说一句虽然做小游戏不复杂但养成“项目独立环境”的习惯是正经工程化的第一步。你后面如果要同时维护多个小游戏每个依赖版本不一致虚拟环境能帮你省下不少头疼时间。工程初始化方面我建议无论游戏多小都按这个目录结构去组织game_project/ ├── main.py # 入口文件负责初始化和启动游戏循环 ├── settings.py # 配置常量窗口大小、帧率、颜色等 ├── sprites/ # 角色、道具等游戏对象 ├── scenes/ # 场景与状态管理 └── assets/ # 图片、音效等资源文件别小看这个结构它是我做第一个小游戏时踩了“所有代码写在一个文件里”的坑之后总结出来的。游戏逻辑稍微复杂一点几百行的单文件就开始失控拆模块是必须的不是可选的。3. 实操拆解从零写出一个能玩的贪吃蛇3.1 整体设计与需求分析贪吃蛇是我最推荐的第一个完整项目因为它覆盖了游戏开发的全部基本要素但每个环节的复杂度又恰到好处。先做需求拆解。一个最小可玩的贪吃蛇需要这些功能一条蛇由多个身体节点组成能向上下左右移动。食物随机出现在网格上蛇头吃到后身体变长。移动规则蛇不能瞬间掉头反向否则会撞到自己。碰撞判定撞墙或撞自己游戏结束。计分每吃一个食物加一分刷新食物位置。在做具体代码之前先定两个关键设计决策。第一个决策用什么表示蛇我选双端队列因为蛇的移动本质上就是“尾部去掉一格、头部新增一格”collections.deque的popleft和append正好完美匹配这个逻辑。第二个决策用什么控制系统时钟pygame.time.Clock的tick方法它接受一个帧率参数控制游戏循环每秒执行多少次。贪吃蛇不需要60帧10到15帧就够这样蛇的移动速度正好能被肉眼舒服地跟随。下面是完整的实现。我先把代码放出来再逐段解释关键部分。import pygame import random from collections import deque # 初始化 pygame.init() # 配置常量 WIDTH, HEIGHT 600, 600 GRID_SIZE 20 GRID_WIDTH WIDTH // GRID_SIZE GRID_HEIGHT HEIGHT // GRID_SIZE FPS 10 # 颜色定义 BLACK (0, 0, 0) WHITE (255, 255, 255) GREEN (0, 200, 0) RED (200, 0, 0) # 创建窗口 screen pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption(贪吃蛇 - Python小游戏) clock pygame.time.Clock() # 初始化蛇和方向 snake deque([(GRID_WIDTH // 2, GRID_HEIGHT // 2)]) direction (1, 0) # 初始向右 def random_food(): 生成一个不在蛇身上的食物位置 while True: pos (random.randint(0, GRID_WIDTH - 1), random.randint(0, GRID_HEIGHT - 1)) if pos not in snake: return pos food random_food() score 0 game_over False def draw_grid(): 绘制网格背景让画面更有结构感 for x in range(0, WIDTH, GRID_SIZE): pygame.draw.line(screen, (40, 40, 40), (x, 0), (x, HEIGHT)) for y in range(0, HEIGHT, GRID_SIZE): pygame.draw.line(screen, (40, 40, 40), (0, y), (WIDTH, y)) def draw_snake(): 绘制蛇的每个节点 for i, (x, y) in enumerate(snake): color GREEN if i 0 else (0, 150, 0) # 蛇头更亮 rect pygame.Rect(x * GRID_SIZE, y * GRID_SIZE, GRID_SIZE - 2, GRID_SIZE - 2) pygame.draw.rect(screen, color, rect) def draw_food(): 绘制食物 x, y food pygame.draw.circle( screen, RED, (x * GRID_SIZE GRID_SIZE // 2, y * GRID_SIZE GRID_SIZE // 2), GRID_SIZE // 2 - 2 ) def move(): 蛇移动逻辑头部增加一格尾部移除一格 global food, score, game_over head_x, head_y snake[0] new_head (head_x direction[0], head_y direction[1]) # 碰撞检测撞墙 if not (0 new_head[0] GRID_WIDTH and 0 new_head[1] GRID_HEIGHT): game_over True return # 碰撞检测撞自己注意忽略尾巴因为尾巴即将移除 if new_head in snake: game_over True return snake.appendleft(new_head) # 吃到食物 if new_head food: score 1 food random_food() else: snake.pop() # 主循环 running True while running: # 1. 事件处理 for event in pygame.event.get(): if event.type pygame.QUIT: running False elif event.type pygame.KEYDOWN: if event.key pygame.K_UP and direction ! (0, 1): direction (0, -1) elif event.key pygame.K_DOWN and direction ! (0, -1): direction (0, 1) elif event.key pygame.K_LEFT and direction ! (1, 0): direction (-1, 0) elif event.key pygame.K_RIGHT and direction ! (-1, 0): direction (1, 0) # 2. 更新逻辑 if not game_over: move() # 3. 渲染 screen.fill(BLACK) draw_grid() if not game_over: draw_food() draw_snake() else: # 显示结束画面 font pygame.font.Font(None, 72) text font.render(GAME OVER, True, RED) screen.blit(text, (WIDTH // 2 - text.get_width() // 2, HEIGHT // 2 - 50)) font_small pygame.font.Font(None, 36) score_text font_small.render(fScore: {score}, True, WHITE) screen.blit(score_text, (WIDTH // 2 - score_text.get_width() // 2, HEIGHT // 2)) pygame.display.flip() clock.tick(FPS) pygame.quit()3.2 关键代码逐段解析这段代码最核心的设计都在几个地方我逐一说透。第一是坐标系的抽象。我没有直接用像素坐标而是引入了GRID_SIZE网格化坐标。蛇的每个节点保存的是“第几格、第几格”绘制的时候再乘以GRID_SIZE换成实际像素。这个抽象的价值在于碰撞检测、食物生成、移动控制都基于整数网格逻辑极其清晰不会出现浮点误差这也是很多高级游戏里“逻辑坐标与渲染坐标分离”思想的简化版。第二是移动机制。注意move函数的核心思路先插入新头再视情况删除尾。因为用的是deque头部插入用appendleft尾部删除用pop时间复杂度都是O(1)。吃到食物时不删除尾巴蛇就变长了。这套逻辑里有一个非常容易踩的坑检查“撞自己”时不能把当前尾巴算进去因为正常移动下尾巴本来就会闪开我在后面排查篇里会详细讲。第三是防反向逻辑。控制方向的代码里有个精巧的地方elif event.key pygame.K_UP and direction ! (0, 1):这个条件的含义是“如果当前不是向下才能向上”因为方向相反会导致蛇瞬间掉头直接穿进自己身体。这个看起来简单的一行判断其实是贪吃蛇游戏防止自撞的核心机制。第四是食物生成。我用了while循环不断随机位置直到不在蛇身上因为网格总共900格蛇身最多也不会超过这个数死循环的概率极低。如果蛇身占了非常多的格子这种“随机试探法”会越来越慢但作为小游戏完全够用。3.3 游戏体验优化的几个可选项一个能跑的贪吃蛇是60分但一个体验良好的贪吃蛇需要一些细节打磨。我做了这么几件事第一增加难度梯度。每吃5个食物FPS提升1到2蛇的移动速度会越来越快。玩法一下子就从“死板的休闲游戏”变成“有挑战的节奏游戏”了。实现方式很简单把FPS改成变量吃到食物超过阈值以后加大即可。第二增加暂停功能。按空格键暂停再按一次恢复。这个功能看似简单但它需要游戏循环里多维护一个“暂停状态”对你的状态管理能力是很好的锻炼。第三增加音效反馈。pygame.mixer.Sound可以在吃到食物时播放一个“叮”的音效。音效资源自己生成也行网上找免费素材也行它对游戏质感的提升是立竿见影的。第四增加最高分记录。用文件把历史最高分存下来每次读档再比较更新。这一下就把游戏扩展到了文件IO和持久化层面你不知道这句话含金量很多新手学文件读写在纯语法里记不住放到游戏里一次就会了。3.4 扩展思路想做不同小游戏时怎么迁移做熟了贪吃蛇很多人会想换个花样。我建议直接从两个方向迁移一个是“操作类反应游戏”比如接掉落物、躲避障碍另一个是“回合制策略小游戏”比如井字棋、五子棋。我拿一个简单的“点按字母”打字游戏举例它的核心完全不用重写游戏循环只是把“蛇的逻辑”换成“随机字母的生成和键盘匹配”import pygame import random import string pygame.init() screen pygame.display.set_mode((800, 400)) font pygame.font.Font(None, 72) clock pygame.time.Clock() current_char random.choice(string.ascii_uppercase) score 0 miss 0 running True while running: for event in pygame.event.get(): if event.type pygame.QUIT: running False elif event.type pygame.KEYDOWN: if event.unicode.upper() current_char: score 1 current_char random.choice(string.ascii_uppercase) else: miss 1 screen.fill((30, 30, 30)) text font.render(current_char, True, (255, 255, 0)) screen.blit(text, (400 - text.get_width() // 2, 150)) score_text font.render(fScore: {score} Miss: {miss}, True, (255, 255, 255)) screen.blit(score_text, (200, 50)) pygame.display.flip() clock.tick(60) pygame.quit()看到了吗这个游戏的骨架和贪吃蛇完全一样“事件处理→更新→渲染”三个环节铁打不动变的只是业务逻辑。这也是我为什么一直强调先做好一个其他都能很快上手。4. 常见问题与排查技巧实录4.1 新手最容易踩的五个坑我结合自己和新手交流的经验把出现频率最高的问题整理成了下面的对照表。问题现象根本原因解决方案运行时黑屏闪一下就退出主循环没写或逻辑很快结束确认代码最后有while循环和pygame.quit()顺序正确蛇移动飞快肉眼跟不上没限制帧率加clock.tick(FPS)控制循环速度画面闪烁严重绘制顺序混乱或没用双缓冲先screen.fill清屏再绘制所有内容最后display.flip反向按键后立刻游戏结束方向反转导致蛇穿体加“不能反向”的条件判断pip install pygame报错网络或Python版本兼容问题换镜像源或将Python升级到3.9以上4.2 蛇穿身体的诡异问题详解这个坑我印象特别深因为它藏得比较深。我刚开始写贪吃蛇时“撞自己”的检测逻辑是if new_head in snake: game_over True看似没问题但实际玩的时候会出现一种诡异场景蛇明明没撞到自己游戏却结束了。原因是蛇的尾巴在下一步本来就要移走新头挪过去是安全位置但你用in检查的是包含尾巴的整个蛇身自然误判。正确做法是检查时排除尾巴或者像我之前那段代码一样先检查new_head是否在snake里、但要注意移动前后顺序。我采用的方案是把“判断撞自己”放在“尾部未删除”之前但蛇的实际状态是包含完整旧身体所以严谨一点的写法是# 排除尾巴后再判断 body_without_tail list(snake)[:-1] if new_head in body_without_tail: game_over True这个细节让我明白一件事做游戏里面的每个判断都要结合领域逻辑来推理不能凭直觉抄代码。从这里延伸开你以后写业务代码时也会更习惯性地思考“这个判断在业务的真实语义下是否成立”。4.3 资源加载失败的排查思路小游戏做到后期会有图片、音效、字体等外部资源这时候很常遇到“找不到文件”“加载失败”的问题。我总结了一个排查顺序能解决九成问题第一步确认文件路径。先确认资源文件和正在运行的py文件在同一个目录下优先用相对路径避免写死绝对路径导致换机器就崩。第二步确认工作目录。在终端运行python main.py时程序的工作目录是终端当前所在目录不一定是代码文件所在目录。这是初学者最容易忽略的问题。我在代码里常用import os BASE_DIR os.path.dirname(os.path.abspath(__file__)) ASSETS_DIR os.path.join(BASE_DIR, assets)这样就能保证无论从哪里启动路径都不会跑偏。第三步确认文件完整性。图片可能因为下载中断而损坏音效文件可能格式不适配。用pygame加载图片时如果报“Couldnt open”先把图片用系统自带看图工具打开试试。4.4 性能优化与资源占用的心得运行小游戏的时候风扇狂转、CPU占用爆高这个问题我碰到过很多次。排查下来九成是帧率没有限制。pygame如果不加clock.tick(FPS)while循环会以能跑多快跑多快的速度空转CPU直接拉满。这里也分享一个经验pygame的事件处理如果不需要每帧都执行可以用pygame.event.set_blocked过滤掉不需要处理的事件类型稍微省一点CPU。如果游戏里有大量背景图片雪碧图动画一多帧率会下滑。降帧率不如降绘制量我常用的优化手段是“脏矩形绘制”也就是只刷新变化的区域而不是整个屏幕重新fill。对小游戏来说简单做法是只在有变化的帧做重绘如果画面静止就跳过渲染步骤。这些优化做好后即使用性能很弱的电脑游戏也能跑得很流畅。5. 写在最后的实操心得做Python小游戏这件事我陆陆续续接触了好几年最大的体会是它带给你的不是“我能做游戏了”这个结果而是“我能把一个想法变成可运行程序”的完整闭环体验。每次从零做完一个小游戏你都会更清楚代码里的每一行是为了解决什么问题而存在的。这套能力迁移到工作里就是接到需求后能快速想清楚技术方案、知道哪里有坑、能独立动手实现这种自信是看任何教学视频都换不来的。最后分享一个小技巧收尾如果你做完一个游戏先别急着做下一个花一点时间尝试“重构”。比如我做完贪吃蛇后把代码里的魔法数字全部提取到settings.py再按“事件处理”“逻辑更新”“渲染”拆成三个函数代码从200行拆成3个模块。这个过程比写新代码更能加深你的理解。等你习惯了这种节奏再回头做新游戏前期的设计时间会明显变短踩坑率也会低很多。祝你在Python小游戏这条路上玩得开心也做出真正能表达你想法的东西。

相关新闻

Windows优化天花板:绿色工具如何根治启动项与临时文件堆积

Windows优化天花板:绿色工具如何根治启动项与临时文件堆积

1. 先搞清楚Windows为什么会越用越卡:优化之前必须懂的根因1.1 启动项堆积:慢在开机第一秒就已经注定了很多人抱怨电脑卡,真正卡的不是系统本身,而是开机后那几分钟。Windows的开机过程就是一个接力跑:内核加载完&…

2026/10/11 18:25:52 阅读更多 →
Windows下用tidevice直连iPhone:实时日志与CPU监控实战

Windows下用tidevice直连iPhone:实时日志与CPU监控实战

1. 先聊清楚:Windows 环境下测 iOS,到底难在哪如果你只在 Windows 上开发,手里却有一台 iPhone 要验证 App 的稳定性、排查线上崩溃、定位页面卡顿,你大概率会遇到一个很现实的尴尬:官方那套调试工具链是跑在苹果生态里…

2026/10/11 18:25:52 阅读更多 →
Python水位预测系统:可部署、可复现、可维护的工程化落地方案

Python水位预测系统:可部署、可复现、可维护的工程化落地方案

简介:本资源是一套基于Python实现的水位预测系统完整工程包,面向水利信息化、环境监测及人工智能应用开发领域的初学者与中级开发者,解决中小流域或城市内涝场景下的短期水位时序建模与预测问题。压缩包共9个文件,含6个Keras训练保…

2026/10/11 18:24:52 阅读更多 →

最新新闻

Flink/PyFlink CSV读写实战:Schema声明与参数配置避坑

Flink/PyFlink CSV读写实战:Schema声明与参数配置避坑

先说个我上个月接手的真实任务:一批传感器历史数据以 CSV 文件存在对象存储里,需要灌进 Flink 流作业做实时指标计算。文件不大,三十来个分区,每分区几万行,字段也就四五个。我当时觉得这是最没技术含量的一步&#xf…

2026/10/11 20:12:01 阅读更多 →
LingBot-World 2.0能商用吗?CC BY-NC-SA 4.0许可证解读:14B权重的使用边界与风险清单

LingBot-World 2.0能商用吗?CC BY-NC-SA 4.0许可证解读:14B权重的使用边界与风险清单

【免费下载链接】lingbot-world-v2 Infinite Worlds with Versatile Interactions 项目地址: https://gitcode.com/gh_mirrors/li/lingbot-world-v2 点击查看 免费下载 LingBot-World 2.0(LingBot-World-Infinity)是一个"以多样化交互生…

2026/10/11 20:12:01 阅读更多 →
响应式实时数据处理:从概念到落地的完整技术链路

响应式实时数据处理:从概念到落地的完整技术链路

1. 从“rea”这个模糊词根说起:它到底指向什么第一次看到“rea”这个标题的时候,我盯着屏幕愣了几秒。没有正文,没有关键词,没有摘要,就孤零零三个字母。这种输入条件放在任何一个技术社区里,都像是有人扔了…

2026/10/11 20:12:01 阅读更多 →
基于YOLOv8的路面裂缝检测系统:中英文双版实战

基于YOLOv8的路面裂缝检测系统:中英文双版实战

1. 路面裂缝检测这个方向,为什么值得用YOLOv8重做一遍道路养护这个行当里,裂缝检测一直是个绕不开的活。早些年靠老师傅拿粉笔在路面上画框、拿本子记桩号,后来有了半自动的图像处理工具,但真正让一线养护队头疼的问题始终没变&am…

2026/10/11 20:12:01 阅读更多 →
Portabase数据库恢复教程:如何从备份快照快速找回丢失的数据

Portabase数据库恢复教程:如何从备份快照快速找回丢失的数据

【免费下载链接】portabase Portabase - Database backup & restore tool for PostgreSQL, MySQL, MsSQL, MariaDB, Firebird SQL, SQLite, MongoDB, Redis and Docker Volume 项目地址: https://gitcode.com/gh_mirrors/por/portabase 点击查看 免费下载 Por…

2026/10/11 20:12:01 阅读更多 →
Agent卡壳了怎么办?Agentic Design Patterns异常处理与恢复模式实战

Agent卡壳了怎么办?Agentic Design Patterns异常处理与恢复模式实战

文档教程AI Agent人工智能 【免费下载链接】Agentic-Design-Patterns Agentic Design Patterns 项目地址: https://gitcode.com/gh_mirrors/agen/Agentic-Design-Patterns 点击查看 免费下载 AI Agent 干到一半突然卡壳——工具调用失败、API 返回 500、输出前言不…

2026/10/11 20:11:00 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 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/11 10:45:37 阅读更多 →
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/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练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/11 14:36:54 阅读更多 →