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

2024-10-01 13:27:58 发布

您现在位置:Python中文网/ 问答频道 /正文

这是代码的一部分:

    print("User would be added sudo access")
    comment = raw_input("Enter comment for sudo entry ")
    group_name = raw_input("Enter sudo group name ")

    edit_verdad = "vd edit -u '+module.sudo.alias.'%s' = '%s'' \
                   -u '+module.sudo.ent.'%s'.cmd = ALL' \
                   -u '+module.sudo.ent.'%s'.comment = '%s'' \
                   -u '+module.sudo.ent.'%s'.host = ALL' \
                   -u '+module.sudo.ent.'%s'.passwd = 0' \
                   -u '+module.sudo.ent.'%s'.user = '%s'' \
                    '%s'"  %(group_name, options.username, group_name, comment, group_name, group_name, group_name, group_name, options.hostname)
    print(edit_verdad)

变量options.hostname选项以及选项.用户名从opt parse获取正确的值。在

当我运行脚本时,我得到的信息如下:

^{pr2}$

有什么想法吗?在


Tags: nameinputrawgroupcommentsudoalledit
2条回答

格式中有10个参数,但在元组中传递了9个值。在

请试试这个

edit_verdad = "vd edit -u '+module.sudo.alias.'%s' = '%s'' \
                   -u '+module.sudo.ent.'%s'.cmd = ALL' \
                   -u '+module.sudo.ent.'%s'.comment = '%s'' \
                   -u '+module.sudo.ent.'%s'.host = ALL' \
                   -u '+module.sudo.ent.'%s'.passwd = 0' \
                   -u '+module.sudo.ent.'%s'.user = '%s'' \
                    '%s'"  %(group_name, options.username, group_name, comment, group_name, group_name, group_name, group_name, options.hostname, "LAST VARS")

现在您有10个10%s的参数。在

您可以将LAST VARS替换为您的值。或者从字符串中删除1%s。在

如果仔细计算字符串中“%s”的数量,则得到数字10。不幸的是,在%(..)列表中只有9个元素。要么你得到了一个额外的%s,要么你错过了%(..)列表中的一个值。在

相关问题 更多 >