Приложение Symbian для использования заметок Python - PullRequest
1 голос
/ 16 февраля 2012

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

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

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

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

Ответы [ 2 ]

1 голос
/ 16 февраля 2012

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

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

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

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

1 голос
/ 16 февраля 2012

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

>>> 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
...