首页 > 解决方案 > 从目录中读取 id

问题描述

如何在这个 dic 中只输出 'response' 的 'id'?

之后我想将整个内容写在一个文本文件中。它应该看起来像这样。

不幸的是 response['id'] 是错误的

def write_to_file(ids):
    file = open('id.txt', 'a')
    file.write(ids + '\n')
    file.close()

response = [{'items': [{'track': {'id': '6gaeewGjNiQhWOUkWRSLTa'}}, {'track': {'id': '0TK2YIli7K1leLovkQiNik'}}, {'track': {'id': '6v0lAdFF4haL8xjBIUjtOw'}}, {'track': {'id': '443cnFF139Ql85enXOTWEu'}}, {'track': {'id': '7bBIBrSmHvdMlTC7b9p8Vq'}}, {'track': {'id': '50Ud3ecSw6hsVlmAECRuBV'}}, {'track': {'id': '0sjSgTluUJIdqfyRe4EQ4U'}}, {'track': {'id': '2TfcMUAZ4vH4fTA9eF53v2'}}, {'track': {'id': '0YOUE1TlkgSbkNvWkZkEVp'}}, {'track': {'id': '5itHWf2i5yo9PM9bgq4hmP'}}, {'track': {'id': '3AKm9sJmK0v3wUQYSLuze7'}}]}]

print(response['id'])
write_to_file(response['id'])

该文件应如下所示 id.txt :

 6gaeewGjNiQhWOUkWRSLTa
 6v0lAdFF4haL8xjBIUjtOw
 443cnFF139Ql85enXOTWEu
 7bBIBrSmHvdMlTC7b9p8Vq
 50Ud3ecSw6hsVlmAECRuBV
 0sjSgTluUJIdqfyRe4EQ4U
 2TfcMUAZ4vH4fTA9eF53v2
 0YOUE1TlkgSbkNvWkZkEVp
 5itHWf2i5yo9PM9bgq4hmP
 3AKm9sJmK0v3wUQYSLuze7

标签: pythonpython-3.x

解决方案


你可以这样做:

def write_to_file(ids):
    file = open('id.txt', 'a')
    for id in ids:
        file.write(id + '\n')
    file.close()


response = [{'items': [
                          {'track': {'id': '6gaeewGjNiQhWOUkWRSLTa'}},
                          {'track': {'id': '0TK2YIli7K1leLovkQiNik'}},
                          {'track': {'id': '6v0lAdFF4haL8xjBIUjtOw'}},
                          {'track': {'id': '443cnFF139Ql85enXOTWEu'}},
                          {'track': {'id': '7bBIBrSmHvdMlTC7b9p8Vq'}},
                          {'track': {'id': '50Ud3ecSw6hsVlmAECRuBV'}},
                          {'track': {'id': '0sjSgTluUJIdqfyRe4EQ4U'}},
                          {'track': {'id': '2TfcMUAZ4vH4fTA9eF53v2'}},
                          {'track': {'id': '0YOUE1TlkgSbkNvWkZkEVp'}},
                          {'track': {'id': '5itHWf2i5yo9PM9bgq4hmP'}},
                          {'track': {'id': '3AKm9sJmK0v3wUQYSLuze7'}}]
           }]

items = response[0]['items']
ids = [item['track']['id'] for item in items]
write_to_file(ids)

首先,您需要访问列表中的项目。这出现在第一个索引中,然后是“项目”键。之后,您要提取所有 id,并逐行写入。

输出文件:

6gaeewGjNiQhWOUkWRSLTa
0TK2YIli7K1leLovkQiNik
6v0lAdFF4haL8xjBIUjtOw
443cnFF139Ql85enXOTWEu
7bBIBrSmHvdMlTC7b9p8Vq
50Ud3ecSw6hsVlmAECRuBV
0sjSgTluUJIdqfyRe4EQ4U
2TfcMUAZ4vH4fTA9eF53v2
0YOUE1TlkgSbkNvWkZkEVp
5itHWf2i5yo9PM9bgq4hmP
3AKm9sJmK0v3wUQYSLuze7

推荐阅读