Ich kann den folgenden Code wegen der 7. Zeile value = int(qty)*int(price)
nicht ausführen. Ich kann es nur ausführen, wenn ich die int()
Funktion innerhalb der print()
Funktion verwende. Gibt es eine Möglichkeit, eine Ganzzahl zu definieren, bevor ich sie drucke? Das gleiche für float?Python mit Int-Funktion
file = open("C:\\file.txt","r")
for mid in file:
qty = mid[38:53]
qty = qty.lstrip("0")
price = mid[75:86]
price = price.lstrip("0")
value = int(qty)*int(price)
trades = [qty,price,value]
print (trades)
file.close()
Shell ->
ValueError: invalid literal for int() with base 10: ''
Sie können immer frage, ob es eine ganze Zahl ist. Die Zeichenfolge, die Sie übergeben müssen, kann Buchstaben enthalten, die den Compiler als hexadezimal ansehen oder ein "." macht es zu einem float – cjds
Mögliches Duplikat von [ValueError: ungültiges Literal für int() mit der Basis 10: ''] (http://stackoverflow.com/questions/1841565/valueerror-invalid-literal-fo-int-with-base -10) – lonewaft
Sie können nach dem Typ fragen mit type (var) –