首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python TypeError:格式字符串的参数不足

Python TypeError:格式字符串的参数不足
EN

Stack Overflow用户
提问于 2012-06-22 04:25:25
回答 3查看 296.9K关注 0票数 148

这是输出。我相信这些是utf-8字符串...其中一些可以是NoneType,但它会立即失败,在这样的之前...

代码语言:javascript
复制
instr = "'%s', '%s', '%d', '%s', '%s', '%s', '%s'" % softname, procversion, int(percent), exe, description, company, procurl

TypeError:格式字符串的参数不足

是7个人中的7个吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-22 04:36:18

请注意,用于格式化字符串的%语法正在过时。如果您的Python版本支持它,您应该这样写:

代码语言:javascript
复制
instr = "'{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}'".format(softname, procversion, int(percent), exe, description, company, procurl)

这也修复了你碰巧遇到的错误。

票数 184
EN

Stack Overflow用户

发布于 2012-06-22 04:27:31

您需要将格式参数放入一个元组(添加圆括号):

代码语言:javascript
复制
instr = "'%s', '%s', '%d', '%s', '%s', '%s', '%s'" % (softname, procversion, int(percent), exe, description, company, procurl)

您当前拥有的内容相当于以下内容:

代码语言:javascript
复制
intstr = ("'%s', '%s', '%d', '%s', '%s', '%s', '%s'" % softname), procversion, int(percent), exe, description, company, procurl

示例:

代码语言:javascript
复制
>>> "%s %s" % 'hello', 'world'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: not enough arguments for format string
>>> "%s %s" % ('hello', 'world')
'hello world'
票数 263
EN

Stack Overflow用户

发布于 2017-07-07 02:33:01

当在格式化字符串中使用%作为百分号字符时,我得到了相同的错误。这个问题的解决方案是将%%加倍。

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

https://stackoverflow.com/questions/11146190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档