【发布时间】:2020-06-19 18:16:54
【问题描述】:
您好,我尝试打印 dll_loaded 列表
"behavior": {
"generic": [
{
"process_path": "C:\\Windows\\System32\\wscript.exe",
"summary": {
"dll_loaded": [
"C:\\Windows\\system32\\wshext.dll",
"C:\\Windows\\system32\\advapi32.dll",
]
}
}
但它总是给我这个错误TypeError: string indices must be integers
我尝试使用以下方式打印它
for sys in json_data["behavior"]["generic"]:
for sys1 in sys["summary"]:
for sys2 in sys1["dll_loaded"]:
print(sys2)
我试图打印 sys1 的类型,它给了我<class 'str'>,不应该是一个列表吗?
然后尝试将 sys1 视为字符串并使用 range 和 len 打印,但只返回一个一个字符!
但我不确定我哪里出错了,有人可以帮忙吗? 我正在使用 Python 3.7
编辑
我尝试了 John P 的答案,它有效,但现在我面临另一个问题,例如 dll_loaded 不是列表中的第一个元素
"behavior": {
"generic": [
{
"process_path": "C:\\Windows\\System32\\wscript.exe",
"summary": {
"file_created": [
"C:\\Users\\Administrator\\AppData\\Roaming\\WinRAR\\version.dat"
],
"file_recreated": [
"\\Device\\DfsClient"
],
"directory_created": [
"C:\\Users\\Administrator\\AppData\\Roaming\\WinRAR"
],
"dll_loaded": [
"C:\\Windows\\system32\\wshext.dll",
"C:\\Windows\\system32\\advapi32.dll",
]
}
}
抱歉,我还是 Python 的初学者
【问题讨论】:
-
请提供完整的错误信息,以及minimal reproducible example。您从该错误消息中了解/不了解什么?
-
我不明白如何访问 JSON 文件的那部分,但似乎我误解了结构。 John P 已经回答了这个问题,谢谢
标签: python json python-3.x loops printing