2011-01-12 10 views
7

ich Variablen mit der print-Anweisung in Python auf diese Weise einbetten könneneinbetten Variable sys.stdout.write in Python

i=10 
print "Value is %s" % (i) 

Ausgabe

Value is 10 

aber tun diese

i=10 
sys.stdout.write ("Value is %s") % (i) 

gibt mir die folgenden ng Fehler

TypeError: unsupported operand type(s) for %: 'NoneType' and 'int' 

Kann ich einbetten Variablen sys.stdout.write statt Drucken mit?

+2

Nicht überraschend, dass Sie einen Fehler erhalten, da die Syntax so falsch ist. –

+0

@ S.Lott Die Frage ist jetzt ziemlich nutzlos. Ich kann es nicht löschen, da es Antworten hat. – abel

+2

Nicht völlig nutzlos - es besteht die Möglichkeit, dass andere Leute die gleiche Syntaxfrage haben. –

Antwort

15

Sie haben die Klammern falsch. Sollte seine

i=10 
sys.stdout.write("Value is %s" % i) 

Der % Operator nimmt einen String und ein Tupel (oder ein einzelnes Objekt) als Argumente. Sie haben versucht, den Operator auf den Rückgabewert sys.stdout.write() anzuwenden, der keine ist. Sie müssen es auf die Zeichenfolge anwenden, bevor es an sys.stdout.write() übergeben wird.

Verwandte Themen