Вот результат. Я считаю, что это строки utf-8 ... некоторые из них могут быть NoneType, но они сразу же выходят из строя, прежде чем такие ...
instr = "'%s', '%s', '%d', '%s', '%s', '%s', '%s'" % softname, procversion, int(percent), exe, description, company, procurl
Ошибка типа: недостаточно аргументов для строки формата
Его 7 из 7?
Вам нужно поместить аргументы формата в кортеж (добавить круглые скобки):
То, что у вас сейчас есть, эквивалентно следующему:
Пример:
источник
Я получил ту же ошибку при использовании
%
символа процента в моей строке формата. Чтобы решить эту проблему, нужно увеличить вдвое%%
.источник
"foo: %(foo)s, bar: s(bar)% baz: %(baz)s" % {"foo": "FOO", "bar": "BAR", "baz": "BAZ"}