如何迭代列表python

2024-09-29 23:18:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个文件:

{"user1": {"Login": "Bob", "Secret": "passkey1"}}
{"user2": {"Login": "John", "Secret": "passkey2"}}

with open('users') as data_file:    
   data = [json.loads(line) for line in data_file]

我如何迭代user1、2等来获取它们的“秘密”? 用户只是一个例子


Tags: 文件datasecretwithlineloginopenjohn
3条回答
with open('users.txt') as data_file:    
   data = [list(json.loads(line).values())[0]['Secret'] for line in data_file]
print(data)
['passkey1', 'passkey2']

这就是我的文件的样子

{"user1": {"Login": "Bob", "Secret": "passkey1"}}
{"user2": {"Login": "John", "Secret": "passkey2"}}

你可以试试

with open('users') as data_file:    
  for line in data_file:
      for k, v in json.loads(line).items():
          print(v['Secret'])

输出

passkey1
passkey2

这段代码将为每一行创建一个字典,然后您可以从每一行中提取“Secret”值

您可以尝试使用以下选项:

import json

{"user1": {"Login": "Bob", "Secret": "passkey1"}}
{"user2": {"Login": "John", "Secret": "passkey2"}}

with open('users.txt') as data_file:    
    data = [json.loads(line) for line in data_file]

for line in data:
    print(line.get(list(line.keys())[0]).get("Secret"))

只要字典的格式是一致的,这就行了,但我的意思是每本字典有一个用户

相关问题 更多 >

    热门问题