Прошу прощения, если это базовое исправление и длина сообщения, но я новичок в Python. Я также включил большой фрагмент сценария для контекстных целей.Python - строковые индексы должны быть целыми числами
Я использую сценарий, чтобы вытащить данные сканирования из JSON в базу данных MySQL. Сценарий работал нормально, пока не было выпущено обновление.
Теперь, когда я запускаю сценарий, я получаю ошибку:
результата в resultc [ 'ответ'] [ 'результаты']: TypeError: строковые индексы должны быть целыми
До этого обновления I знал типы данных для каждого значения, но это изменилось, и я не могу определить, где именно. Есть ли способ конвертировать каждое значение для распознавания в виде строки?
# Send the cumulative JSON and then populate the table
cumresponse, content = SendRequest(url, headers, cumdata)
resultc = json.loads(content)
off = 0
print "\nFilling cumvulndata table with vulnerabilities from the cumulative database. Please wait..."
for result in resultc['response']['results']:
off += 1
print off, result
cursor.execute ("""INSERT INTO cumvulndata(
offset,pluginName,repositoryID,
severity,pluginID,hasBeenMitigated,
dnsName,macAddress,familyID,recastRisk,
firstSeen,ip,acceptRisk,lastSeen,netbiosName,
port,pluginText,protocol) VALUES
(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,(FROM_UNIXTIME(%s)),%s,%s,(FROM_UNIXTIME(%s)),%s,%s, %s,%s)""" , (off,result["pluginName"],result["repositoryID"]),result["severity"]),
result["pluginID"]), result["hasBeenMitigated"]),result["dnsName"],
result["macAddress"],result["familyID"]),result["recastRisk"]),
result["firstSeen"],result["ip"],result["acceptRisk"],result["lastSeen"],
result["netbiosName"],result["port"],result["pluginText"],result["protocol"]))
ошибка говорит вам, что 'resultc [«ответ»]' является «String» и что вы не можете ссылаться на индекс «results» (потому что строки являются технически кортежем символов). Пожалуйста, опубликуйте вывод 'print (resultc)' –
. Я опубликую выходные утром, спасибо. – Ben
попробуйте найти свой список, а затем найдите целое число для его индексации. – monkut