n8n Python 代码节点指南
帮助你在 n8n Code 节点中可靠编写受限环境下的 Python。
材料未显示恶意代码、凭据窃取或破坏性默认行为,且明确建议使用标准库和其他 n8n 节点;但没有系统说明最小权限、用户确认、敏感数据处理、外部网络请求风险、回滚或数据流审计,因此扣分。发布者身份未验证,仅能作为未知处理,不能加分。
文档覆盖输入模式、返回格式、常见错误和空输入处理,快乐路径较清楚;但存在关键示例与说明不一致,例如 _node 访问语法既写成直接访问又写成先调用 first(),快速示例还使用未展示导入的 datetime。没有可执行测试或异常路径复现证据,且静态评估上限为 10,因此扣分。
触发条件、目标用户、Python 与 JavaScript 的适用边界以及外部库限制描述较明确;但对 n8n 版本、Python Beta 运行差异、输入契约和非适用场景仍不够精确,也没有中文使用说明。核心功能不依赖海外服务,但文档引用的外部站点可达性未说明,因此扣分。
采用 SKILL、README、数据访问、错误模式和标准库等分层文档,包含大量示例、限制和版本 1.0.0;但没有明确 changelog、维护责任人、更新流程或依赖/兼容性管理,部分“production-tested”“Production Ready”表述缺乏文件内证据,因此扣分。
内容能直接帮助用户编写常见 Python Code 节点代码,并提供可复制的转换、过滤、聚合和错误处理模板;但部分示例可能依赖未确认的 n8n 运行行为,存在语法/语义不一致,且多数任务仍推荐改用 JavaScript 或其他节点,直接可用性需要人工核验,因此扣分。
文件提供了大量具体代码、错误信息和前后对照,具备有限的静态审计性;但没有提交测试、CI 覆盖、运行日志、第三方验证或独立复现结果,外部文档链接也未形成可核验的证据链,因此扣分。
- 上线前应在目标 n8n 版本分别验证 Python Beta 与 Native 模式、_node 引用、空输入和 webhook 数据结构。
- 不要直接复制包含密码、API 密钥或用户数据的示例;应增加脱敏、凭据管理和最小权限说明。
- 应修正文档中相互矛盾的 _node 语法,并为版本兼容性、维护责任和变更记录补充证据。
这个 Skill 能做什么,适合哪些场景?
这是 n8n-skills 仓库中的一个独立技能,专门指导在 n8n Code 节点中编写 Python。它覆盖 Python Beta 与 Native 模式、输入数据访问、Webhook 数据结构、返回格式、标准库限制和常见错误。技能明确建议大多数场景优先使用 JavaScript,仅在需要 Python 标准库或用户明确偏好 Python 时采用 Python。它适合需要在 n8n 工作流中进行数据转换、过滤、校验、正则处理或基础统计的用户。
指导用户使用 _input.all()、_input.first()、_input.item、_json 和 _node 读取 n8n 输入与节点数据;说明 Python Beta 与 Native 模式的变量差异;生成符合 [{"json": {...}}] 结构的 Code 节点代码;解释 Webhook 数据位于 _json["body"] 下的规则;限制代码使用标准库,并提供 json、datetime、re、base64、hashlib、statistics 等模块的替代方案;针对外部库导入、缺少 return、错误返回结构、KeyError 和批处理循环等问题提供排查建议。
- 需要在 n8n Code 节点中批量转换、过滤、聚合或排序输入项的自动化开发者。
- 需要使用 re、hashlib、statistics 或其他 Python 标准库功能处理工作流数据的用户。
- 正在处理 Webhook 请求,并需要正确读取嵌套 body 数据的 n8n 用户。
- 遇到 Python Code 节点返回格式错误、KeyError 或 ModuleNotFoundError 的工作流维护者。
- 希望在 Python Beta 与 Native 模式之间选择,并理解 _input、_items 等变量差异的用户。
这个 Skill 有哪些优点和局限?
- 明确说明 Python Beta 与 Native 模式的输入变量和适用场景。
- 覆盖 n8n Code 节点最关键的返回结构、Webhook body 嵌套和字典安全访问规则。
- 提供无外部库环境下的标准库范围与 HTTP、数据分析、网页解析替代方案。
- 包含数据转换、过滤聚合、正则、校验和统计等常见工作流模式。
- 默认环境不能使用 requests、pandas、numpy、scipy、BeautifulSoup 或 lxml 等外部库。
- 技能明确建议 95% 的场景优先使用 JavaScript,因此不适合作为通用 Python 自动化指南。
- Python Code 节点标注为 Beta,且跨 SplitInBatches 迭代的状态累积可能不可用。
- 源材料未展示独立测试结果,也未说明除 n8n 相关环境外的运行平台覆盖范围。
如何安装这个 Skill?
该技能随 n8n-skills 仓库一起安装。手动安装:git clone https://github.com/czlonkowski/n8n-skills.git,然后执行 cp -r n8n-skills/skills/* ~/.claude/skills/。仓库也支持 Claude Code 插件安装:/plugin install czlonkowski/n8n-skills。源材料未提供仅安装 skills/n8n-code-python 的独立命令。
如何使用这个 Skill?
安装后,在相关请求中明确说明需要 n8n Code 节点的 Python,例如:“Can I use pandas in Python Code node?” 或“请为 n8n Code 节点编写 Python,使用标准库完成数据过滤”。如果任务是 AI-agent-callable Custom Code Tool,应改用 n8n-code-tool 技能;该技能不适用于该节点的 _query 和字符串返回契约。
这个 Skill 与同类方案有什么区别?
相较于 JavaScript Code 节点,这个技能更适合需要 Python 语法或特定标准库的场景;JavaScript 则拥有更完整的 n8n helper、Luxon 和外部库限制更少。相较于 HTTP Request、Set、Filter、IF 或 Switch 节点,它适用于需要代码逻辑的处理,而不是简单字段映射、基础过滤或条件分支。