影刀RPA 字符串格式化:%s、format、f-string对比
影刀RPA 字符串格式化%s、format、f-string对比作者林焱什么情况用你在影刀RPA里需要拼一段文字——比如生成报表标题2026年7月销售数据_共128条、写日志第3页采集成功耗时12.5秒、构造API请求URLhttps://api.example.com/data?page1size20。这些场景都需要把变量嵌入到字符串中。Python有三种字符串格式化方式%s、str.format()、f-string。影刀RPA的Python代码块三种都支持但该用哪种哪种最不容易出错本文用实际RPA场景对比三种写法告诉你什么时候用什么。怎么做一、三种格式化方式对比方式语法Python版本可读性推荐度%s文本%s % var所有版本一般了解即可format()文本{}.format(var)2.6较好兼容场景用f-stringf文本{var}3.6最好首选二、%s 百分号格式化老式写法name张三age25score95.5# 基本用法msg姓名%s年龄%d分数%.1f%(name,age,score)# 姓名张三年龄25分数95.5# 常见占位符# %s - 字符串# %d - 整数![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/42e5ac38df9447a69d3d74743356100e.png#pic_center)# %f - 浮点数%.2f保留2位小数# %x - 十六进制# RPA场景生成文件名date_str20260701count128filenamereport_%s_%d.xlsx%(date_str,count)# report_20260701_128.xlsx缺点变量多了容易搞混顺序可读性差。三、format() 方法过渡写法拼多多店群自动化报活动上架name张三age25score95.5# 位置参数msg姓名{}年龄{}分数{:.1f}.format(name,age,score)# 命名参数推荐可读性好msg姓名{name}年龄{age}分数{score:.1f}.format(namename,ageage,scorescore)# RPA场景构造URLbasehttps://api.example.com/datapage1size20url{base}?page{page}size{size}.format(basebase,pagepage,sizesize)# https://api.example.com/data?page1size20# 对齐与填充# 左对齐宽度20{:20}.format(hello)# hello # 右对齐{:20}.format(hello)# hello# 居中{:^20}.format(hello)# hello # 数字补零{:05d}.format(42)# 00042四、f-string 格式化首选写法Python 3.6引入影刀RPA的Python代码块完全支持name张三age25score95.5date_str20260701count128# 基本用法直接在{}里写变量名msgf姓名{name}年龄{age}分数{score:.1f}# 姓名张三年龄25分数95.5# 直接写表达式msgf第{page}页共{total}页进度{page/total*100:.1f}%# 生成文件名filenamefreport_{date_str}_{count}.xlsx# 构造URLurlfhttps://api.example.com/data?page{page}size{size}![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6dce3a3937a74defbd1623c669d392dd.png#pic_center)# 调用函数importdatetime nowdatetime.datetime.now()msgf当前时间{now.strftime(%Y-%m-%d %H:%M:%S)}# 多行字符串reportf 采集报告 日期{date_str}总页数{total}成功{success}失败{fail}耗时{elapsed:.1f}秒 五、RPA实战场景对比场景1生成调试日志# %s写法不推荐log第%d页采集完成获取%d条数据耗时%.1f秒%(page,count,elapsed)# format写法log第{}页采集完成获取{}条数据耗时{:.1f}秒.format(page,count,elapsed)# f-string写法推荐logf第{page}页采集完成获取{count}条数据耗时{elapsed:.1f}秒场景2构造多参数API请求api_keyabc123keyword手机page1sortprice_asc# f-string最清晰urlfhttps://api.shop.com/search?key{api_key}q{keyword}page{page}sort{sort}# 如果参数很多用字典urlencode更安全fromurllib.parseimporturlencode params{key:api_key,q:keyword,page:page,sort:sort}urlfhttps://api.shop.com/search?{urlencode(params)}场景3生成格式化报表文本data[{name:商品A,price:128.5,stock:50},{name:商品B,price:299.0,stock:0},{name:商品C,price:59.9,stock:120},]# 用f-string生成对齐的表格headerf{商品名:10}{价格:8}{库存:6}separator-*28lines[header,separator]foritemindata:![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f4c0768774c4476c8a977fc147f23b99.png#pic_center)linef{item[name]:10}{item[price]:8.1f}{item[stock]:6d}lines.append(line)report\n.join(lines)# 输出# 商品名 价格 库存# ----------------------------# 商品A 128.5 50# 商品B 299.0 0# 商品C 59.9 120场景4影刀变量在字符串中的使用# 从影刀变量读取pageyd_var[current_page]totalyd_var[total_pages]statusyd_var[scrape_status]# f-string直接使用影刀变量msgf页面{page}/{total}状态{status}yd_var[log_message]msg六、格式化符号速查表# 数字格式化f{3.14159:.2f}# 3.14 - 保留2位小数f{3.14159:.0f}# 3 - 不保留小数f{0.855:.1%}# 85.5% - 百分比f{1000000:,}# 1,000,000 - 千分位f{42:08d}# 00000042 - 补零f{255:x}# ff - 十六进制f{0.15:.0%}# 15% - 整数百分比# 字符串格式化f{left:10}# left - 左对齐宽10f{right:10}# right - 右对齐宽10f{center:^10}# center - 居中宽10f{pad:*^10}# ***pad**** - 居中用*填充# 日期格式化importdatetime nowdatetime.datetime.now()f{now:%Y-%m-%d}# 2026-07-01f{now:%H:%M:%S}# 21:30:00f{now:%Y%m%d_%H%M%S}# 20260701_213000 - 用于文件名七、在影刀指令中的使用在影刀的【输出调试信息】、【设置变量】等指令的表达式框中可以直接写Python表达式【输出调试信息】 内容: f第{page}页处理完成共{count}条数据 【设置变量】 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/2fee2f8c67dc4d918e20f4e24dc2fcf5.png#pic_center) 变量名: report_title 值: f{date_str}_销售数据_共{total}条注意在影刀指令的表达式中使用f-string时确保引用的变量已经在流程中定义。有什么坑坑1f-string中引号嵌套现象f{hello}可以但f{he said hi}报错。原因f-string中外层引号和内层引号不能相同。解决外层用双引号内层用单引号或反过来。如果字符串里有引号用转义或不同类型引号# 正确msgf他说{name}msgf他说{name}坑2%s的参数数量不匹配TEMU店群矩阵自动化运营核价报活动现象%s %s % (a,)报错not enough arguments。原因%s格式化的占位符数量必须和传入的元组元素数量完全一致。解决改用f-string从根本上避免参数数量匹配问题。坑3f-string中的花括号冲突现象想在f-string中输出{或}字符但被解释为变量引用。解决用双花括号{{和}}表示字面量花括号# 输出JSON模板msgf配置项: {{key: {value}}}# 配置项: {key: actual_value}坑4格式化浮点数时的银行家舍入现象f{0.125:.2f}结果是0.12而不是0.13。原因Python的round()和f-string格式化使用银行家舍入四舍六入五成双不是传统的四舍五入。解决如果需要严格的四舍五入用decimal模块fromdecimalimportDecimal,ROUND_HALF_UP valueDecimal(0.125)resultvalue.quantize(Decimal(0.01),roundingROUND_HALF_UP)# 0.13坑5影刀表达式框中的f-string语法限制现象在影刀的【条件判断】或【输出调试信息】的表达式框中直接写f...有时不生效。原因影刀的某些表达式框可能不完全支持f-string语法尤其是包含复杂表达式时。解决在【执行Python代码】指令中使用f-string最可靠。在简单表达式框中可以先用【设置变量】计算好字符串再引用变量。或者用字符串拼接text str(var)作为兜底方案。

相关新闻

Apc-extension实用技巧:10个提升VSCode界面效率的配置

Apc-extension实用技巧:10个提升VSCode界面效率的配置

Apc-extension实用技巧:10个提升VSCode界面效率的配置 【免费下载链接】apc-extension 项目地址: https://gitcode.com/gh_mirrors/ap/apc-extension Apc-extension是Visual Studio Code的终极界面定制扩展,它突破了VSCode原生设置的限制&#x…

2026/7/14 17:50:46阅读更多 →
影刀RPA 字典的使用:键值对数据的存储与查询

影刀RPA 字典的使用:键值对数据的存储与查询

影刀RPA 字典的使用:键值对数据的存储与查询 作者:林焱 字典是Python中最重要的数据结构之一。在RPA流程中,字典无处不在——API返回的JSON是字典、配置文件解析后是字典、Excel数据转成字典列表更好处理。但很多新手只会用列表,…

2026/7/14 17:50:46阅读更多 →
Claude技能库开发指南:从架构设计到生产部署的AI智能体实践

Claude技能库开发指南:从架构设计到生产部署的AI智能体实践

在 AI 智能体开发领域,Claude 技能库(Skills)已经成为构建专业级 AI 应用的重要基础设施。与传统的提示词工程不同,技能库通过结构化、可复用的方式封装特定领域的专业知识,让开发者能够快速构建出具备专业能力的 AI 智…

2026/7/14 17:50:46阅读更多 →
从“农家乐”到“模块化生态农庄”:大学生创业如何用工业化思维重塑乡村文旅

从“农家乐”到“模块化生态农庄”:大学生创业如何用工业化思维重塑乡村文旅

1. 从农家乐到模块化生态农庄的转型逻辑十年前我第一次去郊区农家乐的经历至今记忆犹新:简陋的砖瓦房,几张油腻的餐桌,院子里散养着几只土鸡,菜单上除了土鸡汤就是炒鸡蛋。这种粗放式的经营模式,正是当前大多数农家乐的…

2026/7/14 18:50:54阅读更多 →
Dump文件实战解析:从内存转储到故障定位

Dump文件实战解析:从内存转储到故障定位

1. 什么是Dump文件?当你的程序突然崩溃时,系统会自动生成一个特殊的文件,这就是我们常说的Dump文件。它就像是程序在崩溃瞬间拍下的一张"快照",完整记录了当时内存中的所有数据、线程状态和调用堆栈等信息。想象一下&am…

2026/7/14 18:50:54阅读更多 →
STM32与ISOM8710数字隔离器的高压安全设计实践

STM32与ISOM8710数字隔离器的高压安全设计实践

1. 高压安全隔离的必要性与技术选型在工业自动化、电力电子和医疗设备领域,高压与低压电路之间的安全隔离是系统设计的核心需求。当STM32微控制器需要监测或控制380V交流电机、光伏逆变器或医疗设备时,如果没有可靠的隔离措施,高压侧的浪涌、…

2026/7/14 18:50:54阅读更多 →
Mythos安全大模型:代码漏洞自动发现与利用链生成技术解析

Mythos安全大模型:代码漏洞自动发现与利用链生成技术解析

1. 这不是一次普通升级:Mythos 的能力跃迁到底意味着什么 “Claude Mythos Preview”——这个名字在2026年4月中旬出现时,没有铺天盖地的发布会,没有炫目的Demo视频,只有一份措辞克制但数据惊人的技术简报,和一个被严格…

2026/7/14 18:50:54阅读更多 →
Adobe激活工具终极指南:3步解锁完整Creative Cloud功能

Adobe激活工具终极指南:3步解锁完整Creative Cloud功能

Adobe激活工具终极指南:3步解锁完整Creative Cloud功能 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP 还在为Adobe软件的高昂订阅费用发愁吗&#xff1…

2026/7/14 18:50:54阅读更多 →
【CAN驱动实战】从状态机到API:AUTOSAR Can Driver核心机制深度解析

【CAN驱动实战】从状态机到API:AUTOSAR Can Driver核心机制深度解析

1. CAN Driver模块的架构与核心机制在AUTOSAR架构中,CAN Driver模块扮演着承上启下的关键角色。作为MCAL(Microcontroller Abstraction Layer)的重要组成部分,它直接操作CAN控制器硬件,同时为上层CanIf模块提供统一的接…

2026/7/14 18:45:54阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/14 4:56:14阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/14 2:55:05阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/14 6:17:41阅读更多 →
【Cursor数据库安全红线】:自动执行SQL前必须校验的6项权限策略,金融级项目已强制落地

【Cursor数据库安全红线】:自动执行SQL前必须校验的6项权限策略,金融级项目已强制落地

更多请点击: https://intelliparadigm.com 第一章:Cursor数据库安全红线概览 Cursor 作为一款基于 AI 的智能编程助手,其本地数据库(SQLite 存储)承载着用户代码片段、会话历史、自定义规则及敏感上下文信息。理解其安…

2026/7/14 0:03:18阅读更多 →
【Notion AI写作避坑白皮书】:基于127份真实用户失败案例,总结6大致命误用陷阱

【Notion AI写作避坑白皮书】:基于127份真实用户失败案例,总结6大致命误用陷阱

更多请点击: https://codechina.net 第一章:Notion AI写作辅助的底层能力边界认知 Notion AI 并非通用大语言模型的直接封装,而是基于 Llama 系列与自研微调模型构建的轻量化推理服务,其输入上下文窗口严格限制在 8192 token&…

2026/7/14 0:03:18阅读更多 →
AI Agent数据越界行为如何被精准溯源?——基于GDPR/CCPA双合规的5层审计框架实战指南

AI Agent数据越界行为如何被精准溯源?——基于GDPR/CCPA双合规的5层审计框架实战指南

更多请点击: https://kaifayun.com 第一章:AI Agent数据越界行为的合规性挑战与溯源必要性 AI Agent在自主执行任务过程中,可能因提示注入、上下文污染或权限配置缺陷,无意或有意访问、缓存、传输受保护数据(如PII、G…

2026/7/14 0:03:18阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/14 15:07:30阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/14 4:45:36阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/14 2:42:17阅读更多 →