Приложение Symbian для использования заметок Python

Когда я пытаюсь использовать эту команду

appuifw.note(u"Connecting to %s" % (address), "conf");

Я получаю сообщение об ошибке: "не все аргументы преобразованы во время форматирования строки"

Как исправить эту ошибку?

2 ответа

Решение

Упомянутая вами ошибка возникает в таких случаях, как

>>> print "my name is %s" %('foo','bar')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: not all arguments converted during string formatting

Это означает, что у меня есть 2 значения для замены ('foo', 'bar') но только при условии one местодержатель (%s),

Чтобы исправить это

>>> print "my name is %s %s" %('foo','bar')
    my name is foo bar

Есть также другой способ добиться этого, используя str.format ().

>>> print "my name is {0} {1}".format('foo','bar')
    my name is foo bar

Есть еще один вариант со словарями

mydict = {'foo': 'bar', 'foo2': 'bar2'}
print "my name is %(foo)s" % mydict

таким образом, вы можете использовать только foo, если хотите.

Обратите внимание, что последнее 's' для 'string', поэтому, если вы добавляете что-то вроде%(foo)d, это означает%d с именем foo.

Другие вопросы по тегам