Stephen Hansen <me+pyt...@ixokai.io> writes:

> The error message means there's a mismatch between the number of
> formatting instructions (ie, %s) and arguments passed to formatting. I
> leave it to you to count and find what's missing or extra, because I'm
> seriously not going to do that :)

Better: when you have many semantically-different values, use named (not
positional) parameters in the format string.

    Some simple format string examples:

    "First, thou shalt count to {0}" # References first positional argument
    "Bring me a {}"                  # Implicitly references the first 
positional argument
    "From {} to {}"                  # Same as "From {0} to {1}"
    "My quest is {name}"             # References keyword argument 'name'
    […]

    <URL:https://docs.python.org/3/library/string.html#formatstrings>

By using names, you will not need to count positional arguments; and
when there's an error, the error will state the name, making it easier
to debug.

Also feasible with ‘%’ syntax. But, if you're writing new code, you may
as well use the more powerful ‘str.format’ described at that URL.

-- 
 \       “To have the choice between proprietary software packages, is |
  `\      being able to choose your master. Freedom means not having a |
_o__)                        master.” —Richard M. Stallman, 2007-05-16 |
Ben Finney

-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to