python格式化字符串Type Error: Format Requires Mapping 的问题
2016-02-02 16:49
1481 查看
最近几天 频繁看到有这种写法
第一次看到的pythoner看到可能会有点懵逼。因为我们见得最多的应该是这样的字符串格式化
而上面的写法很容易让我们联想到python的 format格式化写法。但是事实是并不是这样的 我们可能会做这样的尝试
但是得到的结果却是
看来并不是这么写的。经过好一阵google 才发现原来这种写法接受的对象是字典,所以正确的写法是
得到的结果
所以遇到这种写法的时候,大家一定要特别注意呀。
BASIC_FORMAT = "%(levelname)s:%(name)s:%(message)s"
第一次看到的pythoner看到可能会有点懵逼。因为我们见得最多的应该是这样的字符串格式化
'%s sdjiaosdoijasoid %s' % (a, b)
而上面的写法很容易让我们联想到python的 format格式化写法。但是事实是并不是这样的 我们可能会做这样的尝试
levelname = 'haha' name = 'xixi' message = 'kexuan' BASIC_FORMAT = "%(levelname)s:%(name)s:%(message)s" print BASIC_FORMAT % (levelname, name, message)
但是得到的结果却是
print BASIC_FORMAT % (levelname, name, message) TypeError: format requires a mapping
看来并不是这么写的。经过好一阵google 才发现原来这种写法接受的对象是字典,所以正确的写法是
levelname = 'haha' name = 'xixi' message = 'kexuan' BASIC_FORMAT = "%(levelname)s:%(name)s:%(message)s" print BASIC_FORMAT % {'levelname': levelname, 'name': name, 'message': message}
得到的结果
haha:xixi:kexuan
所以遇到这种写法的时候,大家一定要特别注意呀。
相关文章推荐
- Android 动态关闭Manifest中的Receiver的方法
- XMPP在android客户端上的应用 Androidpn的使用[找不到org.androidpn.client.PersistentConnectionListener]
- iOS block回调传值
- ecplise android 项目转AndroidStrudio 流程
- JS_call_APP native 与 html的交互
- Android开发环境、镜像服务地址、工具网址
- Android DiskLRUCache图片下载优化 <20>
- ObjectAnimator常用设置view效果
- Quartz 2D原文档及中文翻译收藏
- Android gallery画廊
- IOS 四种保存数据的方式
- Android——Shader渲染器
- Android实现地图服务
- APICloud Studio iphone真机调试失败:transferApplication package failed
- ios Push证书 转换步骤
- 微信生态圈的发展分析
- 我常用的库和插件
- iOS 中 TextField 光标后移几个像素
- iOS-非父子控制器跳转(如:从某一导航控制器的子页面跳转到另一个tabbar控制的页面)
- Android 原生导航 IV-实现Drawer+ToolBar+Tab