Python format - IndexError tuple index out of range

1 odpovědí
24.08.2017 napsal Kyslík dotaz do kategorie programovani 4 / 5

Python format - IndexError tuple index out of range

Vyřešeno

programovani python

Ahoj,při skládání SQL dotazu přes python skript, kdy dosazuji proměnné pomocí .format() takto: sql = str("UPDATE `queue` SET status='1', resultRDX='{1}', resultBMX='{2}', finished='{3}' WHERE id='{4}'" .format(countLoops, checkVysledekIBMX, datumStart, idQ))

Dostávám chybu IndexError: tuple index out of range:

Traceback (most recent call last): File "/var/python/python.py", line 281, in superLoop() File "/var/python/python.py", line 122, in superLoop superLoop() File "/var/python/python.py", line 248, in superLoop moreRDX(checkPositiveRDXPositionElement) File "/var/python/python.py", line 233, in moreRDX readerRDX(vysledekBMX,countLoops) File "/var/python/python.py", line 210, in readerRDX sql = str("UPDATE `queue` SET status='1', resultRDX='{1}', resultBMX='{2}', finished='{3}' WHERE id='{4}'" .format(countLoops, checkVysledekBMX, datumStart, idQ))IndexError: tuple index out of range

24.08.2017 odpověděl Rusty Moderátor
Zkontrolováno

Ahoj,

celý problém je v tom, že nezačínáš format od nuly, ale od jedničky, takže správně takto:

sql = str("UPDATE `queue` SET status='1', resultRDX='{0}', resultBMX='{1}', finished='{2}' WHERE id='{3}'" .format(countLoops, checkVysledekIBMX, datumStart, idQ))

Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace