首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >字符串包含"%s“而不进行转义时的Python字符串格式

字符串包含"%s“而不进行转义时的Python字符串格式
EN

Stack Overflow用户
提问于 2010-05-17 07:27:53
回答 3查看 23.3K关注 0票数 17

格式化字符串时,我的字符串可能包含我不希望转换的模数"%"。作为变通办法,我可以转义字符串并将每个"%"更改为"%%"

例如,

代码语言:javascript
运行
AI代码解释
复制
'Day old bread, 50%% sale %s' % 'today!'  

输出:

代码语言:javascript
运行
AI代码解释
复制
'Day old bread, 50% sale today'

但是,除了逃走之外,还有其他选择吗?我希望使用字典可以让Python忽略任何非关键字转换。

例如,

代码语言:javascript
运行
AI代码解释
复制
'Day old bread, 50% sale %(when)s' % {'when': 'today'}  

但是Python仍然看到第一个模数%,并给出了一个:

代码语言:javascript
运行
AI代码解释
复制
TypeError: not enough arguments for format string
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-17 07:36:40

您可以(也应该)使用new string .format() method (如果您使用的是Python2.6或更高版本):

代码语言:javascript
运行
AI代码解释
复制
"Day old bread, 50% sale {0}".format("today")

The manual can be found here

文档还说,旧的%格式最终将从语言中删除,尽管这肯定需要一些时间。新的格式化方法更加强大,所以这是一件好事。

票数 24
EN

Stack Overflow用户

发布于 2010-05-17 07:32:17

并非如此-转义%符号是使用字符串格式所付出的代价。您可以改为使用字符串连接:'Day old bread, 50% sale ' + whichday,如果这有帮助的话...

票数 2
EN

Stack Overflow用户

发布于 2010-05-17 07:35:38

将'%‘转义为'%%’不是一种解决办法。如果你使用字符串格式,这就是表示'%‘符号的方式。如果你不想这样做,你可以这样做:

代码语言:javascript
运行
AI代码解释
复制
print "Day old bread, 50% sale " + "today"

例如,不使用格式化。

请注意,当使用字符串连接时,请确保变量是字符串(而不是None)或使用str(varName)。否则你会得到类似“Can‘t concatenate str and NoneType’这样的错误。”

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2847272

复制
相关文章
Pandas | 如何新增数据列?
在数据分析时,原始数据往往不能满足我们的需求,经常需要按照一定条件创建新的数据列或者修改原有数据列,然后进行后续分析。
生信real
2022/12/20
2.1K0
使用脚本快速初始化VMware下Linux虚拟机新增数据盘
这个 scan 属性支持以"-"作为通配符,如以下命令可以执行让整个 scsi_host 进行重新搜索, 这个功能用于调试某些对热插拔实现不完善的 SCSI 驱动程序很有用
yuanfan2012
2020/11/10
1K0
使用脚本快速初始化VMware下Linux虚拟机新增数据盘
新增磁盘如何分区
使用ECS的过程中,会遇到磁盘空间不够用的情况,遇到这种情况时我们需要单独去购买一台数据盘,在购买完成后,我们需要进行分区格式化等操作
dogfei
2020/07/31
8170
Django新增数据
Django做的比较优雅的事情是:Django的一个model类对应数据库中一张表,而该类的对象则对应于数据表中的一条数据,这样的抽象是比较合理的。
zy010101
2021/10/13
8010
Kafka集群新增节点后数据如何重分配
分区重新分配工具可用于在代理之间移动分区。理想的分区分配将确保所有代理之间的数据负载和分区大小均匀。分区重新分配工具没有能力自动研究Kafka群集中的数据分布,并四处移动分区以实现均匀的负载分布。因此,必须弄清楚应该移动哪些主题或分区。
大数据真好玩
2022/03/28
1.9K0
C盘、D盘、E盘、F盘等等,如何将多个盘合成一个盘?
1、点击[此电脑] 2、点击[管理] 3、点击[磁盘管理] 4、点击[(D:)] 5、点击[删除卷] 6、点击[是] 7、点击[(C:)] 8、点击[扩展卷] 9、点击[下一步] 10、点击[下一步]
裴来凡
2022/05/28
7.1K0
C盘、D盘、E盘、F盘等等,如何将多个盘合成一个盘?
[1142]hive中如何新增字段
添加之后字段由于hive底层是文件和系列化的设计,因此查数据会发现新增的列在所有已有列的后面
周小董
2022/05/20
6.6K0
[1142]hive中如何新增字段
mysql新增数据速度
场景:前台传来大量数据,需要插入到redis和mysql中,同时进行速度缓慢,还容易丢失数据。下面进行模拟测试。
崔笑颜
2020/06/08
1.3K0
扩容数据盘_Linux[通俗易懂]
1,前提条件 实例处于 运行中 (Running) 或 已停止(Stopped) 状态。
全栈程序员站长
2022/08/09
3.9K0
如何正确清理C盘?
Windows电脑操作系统一般是安装在磁盘驱动器的C盘中,一旦运行,便会产生许多垃圾文件,C盘空间在一定程度上都会越来越小。伴随着电脑工作的时间越久,C盘常常会提示显示其内存已不足。那么C盘容量不足对我们的电脑有什么影响?
大头猿
2022/10/27
16K0
EMR数据盘扩容
EMR产品文档中说明,当集群的存储资源不足时,可通过控制台对Core节点(Core为存储数据及计算的节点,Task为纯计算节点,不存储数据)进行扩容。当集群的计算资源充足仅需要扩容存储资源时就是本文的场景。
Yannic
2020/12/29
2.1K0
XCode新增数据转换功能(导数据)
用法: DAL.AddConnStr("xxgk", "Data Source=192.168.1.21;Initial Catalog=信息公开;user id=sa;password=Pass@word", null, "mssql"); var dal = DAL.Create("xxgk"); DAL.AddConnStr("xxgk2", "Data Source=XXGK.db;Version=3;", null, "sqlite"); File.Delete("XXGK.db"); /
大石头
2018/01/15
7700
如何利用 U 盘制作系统启动盘?
在我们日常使用电脑的过程中,难免会遇到电脑卡顿的情况,大多时候我们可以通过重装系统的方式来让我们的电脑重焕新生。但是这时候就遇到个难题呀,不会装系统咋办???去电脑城或者维修店花钱装?
村雨遥
2022/06/15
3.2K0
如何利用 U 盘制作系统启动盘?
oracle批量新增更新数据
本博客介绍一下Oracle批量新增数据和更新数据的sql写法,业务场景是这样的,往一张关联表里批量新增更新数据,然后,下面介绍一下批量新增和更新的写法:
SmileNicky
2019/05/15
2.6K0
线上问题如何复盘?
昨天知识星球社群里有同学问了一个问题:线上问题如何复盘?从流程、分析和后续措施落地有哪些好的建议?
老_张
2023/03/01
1.1K0
线上问题如何复盘?
如何将U盘设置为启动盘
1.首先我们将封装好系统的启动u盘插入USB口中,启动电脑.。 2.当显示屏闪过第一个开机画面的时候,我们迅速连续按下键盘上的快捷启动热键,联想为F12,其他品牌按下表自行查询快捷启动热键或联系电脑品牌客服询问。
雾海梦曦
2022/11/12
3.8K0
如何将U盘设置为启动盘
php案例:json新增数据
作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主 文章目录 cyg.php cyg.php <?php $json_string= '[{"id":
贵哥的编程之路
2022/10/24
9560
php案例:json新增数据
怎么恢复u盘数据?u盘数据的恢复方法
U盘作为经常使用到的移动存储设备,在日常工作和学习过程中扮演的角色是非常重要的。例如:在日常的工作中,经常会需要使用U盘对重要数据进行备份。在学习过程中,经常会需要使用U盘对常用教程进行传输等。而之所以会这样做,就是想要避免数据丢失的问题发生。那么,该怎么恢复u盘数据?请不要担心,下面就来教你二种快速恢复数据的方法。
用户10682816
2023/08/02
4021
Linux数据盘和系统盘的查看
JaneYork
2023/10/11
2.5K0
Linux数据盘和系统盘的查看
点击加载更多

相似问题

自动挂载数据盘后无法登录?

3430

ubuntu 挂载数据盘, fdisk 无法显示?

2843

轻量应用服务器可以挂载数据盘吗?

3617

Centos系统重置后,如何挂载lvm的数据盘?

0381

根据教程挂载了数据盘后重启出错?

2320
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档