JSON 文件读取错误:write() 参数必须是 str,而不是生成器

Error in JSON file reading : write() argument must be str, not generator

我正在读取 JSON 文件中的内容并将其附加到文本文件中。我收到以下错误:

' write() 参数必须是 str,而不是生成器 ' 当我 运行 这段代码并且我无法更正它时。

with open('stackExchangeAPI.json','r') as json_file:
    tags_list = []
    data = json.load(json_file)
    for i in range(0,99):
        for j in range(0,99):
          tags = data[i]["items"][j]["tags"]
          with open('tags.txt','a+') as tags_file:
                tags_file.seek(0)
                d = tags_file.read(100)
                if len(d) > 0 :
                    tags_file.write("\n")
                tags_file.write(f'{tags[i]}' for i in range(0,(len(tags)-1)))

错误是最后一行'tags_file.write(f'......)'

有人可以帮我改正吗?

正如它所说,您正在尝试 write 生成器,您必须首先将其转换为字符串,可能使用 join:

out = ''.join(f'{tags[i]}' for i in range(0,(len(tags)-1)))
tags_file.write(out)

您正在尝试将 for 循环写入文件。尝试将最后一行更改为:

[tags_file.write(f'{tags[i]}') for i in range(0,(len(tags)-1))]