如何使用python创建一个有3个用户和每个用户2个键的json? 问题: 如何使用python创建一个具有3个用户和每个用户2个键的数据库 目标: 我有3个用户,每个用户有2个密钥。我需要为它创建一个json。但是代码非常凌乱。 预期结果:

如何使用python创建一个有3个用户和每个用户2个键的json? 问题: 如何使用python创建一个具有3个用户和每个用户2个键的数据库 目标: 我有3个用户,每个用户有2个密钥。我需要为它创建一个json。但是代码非常凌乱。 预期结果:,python,json,dictionary,Python,Json,Dictionary,对于三个用户,这样做。 实际结果: 它创建类似于上面的的json。 参考代码: json的太大了,所以我切了一些部分 谢谢你的阅读 代码是一团乱麻,但你看: import re import random as ran import string as stri import json global userid1, username1, password1, key1, premium_test, special_sandbox_test, tokens, key_dict l1 = []

对于三个用户,这样做。

实际结果: 它创建类似于上面的json

参考代码: json的太大了,所以我切了一些部分


谢谢你的阅读 代码是一团乱麻,但你看:

import re
import random as ran
import string as stri
import json

global userid1, username1, password1, key1, premium_test, special_sandbox_test, tokens, key_dict

l1 = []
key_list_dict = []
name_list = []
id_list = []
p5 = []
pwd_list = []
key_list = []
user_dict_final = []
k = 10000000000
j = 99999999999
p10 = 2

for i in range(3):
    member = str(input("Type the person's name. "))
    if member == 'exit()' or member == 'exit' or member == 'e':
        print("Okay exiting!")
        break
    else:
        u8 = re.search(r"\s", member)
        if u8:
            uo, ui1 = member.split(' ')
            iw, a98 = str(uo).capitalize(), str(ui1).capitalize()
            p98 = ''.join(iw + '_' + a98)
            member = p98
        else:
            uo = member.capitalize()
            member = uo
        name_list.append(member)
    id1 = ran.randint(k, j)
    id_list.append(str(id1))

    for _ in range(p10):
        yt = ''.join(l + '-' * (n % 5 == 4) for n, l in enumerate(ran.choice(stri.ascii_uppercase + stri.digits) for _ in range(ran.choice([25, 35])))).rstrip('-')
        premium_key = ''.join(l + '-' * (n % 5 == 4) for n, l in enumerate(ran.choice(stri.ascii_uppercase + stri.digits) for _ in range(25))).rstrip('-')
        special_sandbox_key = ''.join(l + '-' * (n % 5 == 4) for n, l in enumerate(ran.choice(stri.ascii_uppercase + stri.digits) for _ in range(35))).rstrip('-')
        p5.append(yt)
    pwd = ''.join(ran.choice(stri.ascii_lowercase + stri.digits + stri.punctuation) for _ in range(ran.randint(10, 36)))
    pwd_list.append(pwd)
    userid = id1
    username = member
    password = pwd
    tokens = ["userID", "username", "password", "keys"]
    values = [userid, username, password]
    user_dict = {tokens[i]: values[i] for i in range(len(values))}
    premium_key_token = ["premium", "key"]
    premium_key_value = [True, premium_key]
    special_sandbox_key_token = ["special_sandbox", "key"]
    special_sandbox_key_value = [True, special_sandbox_key]
    premium_key_dict = {premium_key_token[i]: premium_key_value[i] for i in range(len(premium_key_value))}
    sandbox_key_dict = {special_sandbox_key_token[i]: special_sandbox_key_value[i] for i in range(len(special_sandbox_key_value))}
    key_list_dict.append(premium_key_dict)
    key_list_dict.append(sandbox_key_dict)
    print("Key_list: " + str(key_list_dict))
    user_dict[tokens[3]] = key_list_dict
    user_dict_final.append(user_dict)
    print("User_dict: {}".format(user_dict))
    key_list_dict = []

with open("file1.json", "w") as f1:
    json.dump(user_dict_final, f1, indent=4)

请从正确命名变量开始。将您的逻辑拆分为函数。它非常混乱@vishnudev您应该问这样一个问题:如何消除列表元素的重复数据。当这是你的问题时,答案很容易找到——嘿,我想让它变得动态@ShlokSayaniCan,你能详细解释一下吗?你想让哪个部分充满活力?我自己做的@ShlokSayani我可以更新答案吗?
[
    {
        "userID": "23927612607",
        "username": "Ryj\\",
        "password": "&f~6)g/l@(8",
        "keys": [
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "special_sandbox": true,
                "key": "XFP9R-RKZ1V-V8TEJ-FPJTS-JT0ER-8RRFY-594V1"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "special_sandbox": true,
                "key": "XFP9R-RKZ1V-V8TEJ-FPJTS-JT0ER-8RRFY-594V1"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "special_sandbox": true,
                "key": "XFP9R-RKZ1V-V8TEJ-FPJTS-JT0ER-8RRFY-594V1"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "special_sandbox": true,
                "key": "XFP9R-RKZ1V-V8TEJ-FPJTS-JT0ER-8RRFY-594V1"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "special_sandbox": true,
                "key": "XFP9R-RKZ1V-V8TEJ-FPJTS-JT0ER-8RRFY-594V1"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "special_sandbox": true,
                "key": "XFP9R-RKZ1V-V8TEJ-FPJTS-JT0ER-8RRFY-594V1"
            },
            {
                "premium": true,
                "key": "T38PH-HFQIY-KK88M-GRWTK-AEM2O"
            }
        ]
    },
    {
        "userID": "23927612607",
        "username": "Ryj\\",
        "password": "&f~6)g/l@(8",
        "keys": [
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "special_sandbox": true,
                "key": "XFP9R-RKZ1V-V8TEJ-FPJTS-JT0ER-8RRFY-594V1"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "special_sandbox": true,
                "key": "XFP9R-RKZ1V-V8TEJ-FPJTS-JT0ER-8RRFY-594V1"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "special_sandbox": true,
                "key": "XFP9R-RKZ1V-V8TEJ-FPJTS-JT0ER-8RRFY-594V1"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "special_sandbox": true,
                "key": "XFP9R-RKZ1V-V8TEJ-FPJTS-JT0ER-8RRFY-594V1"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "special_sandbox": true,
                "key": "XFP9R-RKZ1V-V8TEJ-FPJTS-JT0ER-8RRFY-594V1"
            },
            {
                "premium": true,
                "key": "RB3YV-27DTH-IQD0R-2JHNF-6N70P"
            },
            {
                "special_sandbox": true,
                "key": "XFP9R-RKZ1V-V8TEJ-FPJTS-JT0ER-8RRFY-594V1"
            },
            {
                "premium": true,
                "key": "T38PH-HFQIY-KK88M-GRWTK-AEM2O"
            }
        ]
    }
global userid1, username1, password1, key1, premium_test, special_sandbox_test, tokens, key_dict

l1 = []
key_list_dict = []
p1 = []
p3 = []
p5 = []
p7 = []
key_list = []
k = 10000000000
j = 99999999999
p10 = 2
for i in range(3):
    member = str(input("Type the person's name. "))
    if member == 'exit()' or member == 'exit' or member == 'e':
        print("Okay exiting!")
        break
    else:
        u8 = re.search(r"\s", member)
        if u8:
            uo, ui1 = member.split(' ')
            iw, a98 = str(uo).capitalize(), str(ui1).capitalize()
            p98 = ''.join(iw + '_' + a98)
            member = p98
        else:
            uo = member.capitalize()
            member = uo
        p1.append(member)
    id1 = ran.randint(k, j)
    p3.append(str(id1))
    for _ in range(p10):
        yt = ''.join(l + '-' * (n % 5 == 4) for n, l in enumerate(ran.choice(stri.ascii_uppercase + stri.digits) for _ in range(ran.choice([25, 35])))).rstrip('-')
        p5.append(yt)
    p6 = ''.join(ran.choice(stri.ascii_lowercase + stri.digits + stri.punctuation) for _ in range(ran.randint(10, 36)))
    p7.append(p6)
    for a, e, o, y in zip(p1, p3, p5, p7):
        userid1 = e
        username1 = a
        password1 = y
        key1 = o
        key_list.append(key1)
        userid = userid1
        username = username1
        password = password1
        tokens = ["userID", "username", "password", "keys"]
        values = [userid, username, password]
        user_dict = {tokens[i]: values[i] for i in range(len(values))}
        for key in key_list:
            key_test = key.replace("-", "")
            premium_test = True if (len(key_test) == 25) else False
            special_sandbox_test = True if (len(key_test) == 35) else False
            key_tokens = ["premium", "special_sandbox", "key"]
            key_values = [premium_test, special_sandbox_test, key]
            premium_key_token = ["premium", "key"]
            premium_key_value = [premium_test, key]
            special_sandbox_key_token = ["special_sandbox", "key"]
            special_sandbox_key_value = [special_sandbox_test, key]
            if premium_test:
                key_dict = {premium_key_token[i]: premium_key_value[i] for i in range(len(premium_key_value))}
            else:
                key_dict = {special_sandbox_key_token[i]: special_sandbox_key_value[i] for i in range(len(special_sandbox_key_value))}
            key_list_dict.append(key_dict)
            user_dict[tokens[3]] = key_list_dict
        print(user_dict)
        l1.append(user_dict)
    print(l1)
with open("file1.json", "w") as f1:
    json.dump(l1, f1, indent=4)

import re
import random as ran
import string as stri
import json

global userid1, username1, password1, key1, premium_test, special_sandbox_test, tokens, key_dict

l1 = []
key_list_dict = []
name_list = []
id_list = []
p5 = []
pwd_list = []
key_list = []
user_dict_final = []
k = 10000000000
j = 99999999999
p10 = 2

for i in range(3):
    member = str(input("Type the person's name. "))
    if member == 'exit()' or member == 'exit' or member == 'e':
        print("Okay exiting!")
        break
    else:
        u8 = re.search(r"\s", member)
        if u8:
            uo, ui1 = member.split(' ')
            iw, a98 = str(uo).capitalize(), str(ui1).capitalize()
            p98 = ''.join(iw + '_' + a98)
            member = p98
        else:
            uo = member.capitalize()
            member = uo
        name_list.append(member)
    id1 = ran.randint(k, j)
    id_list.append(str(id1))

    for _ in range(p10):
        yt = ''.join(l + '-' * (n % 5 == 4) for n, l in enumerate(ran.choice(stri.ascii_uppercase + stri.digits) for _ in range(ran.choice([25, 35])))).rstrip('-')
        premium_key = ''.join(l + '-' * (n % 5 == 4) for n, l in enumerate(ran.choice(stri.ascii_uppercase + stri.digits) for _ in range(25))).rstrip('-')
        special_sandbox_key = ''.join(l + '-' * (n % 5 == 4) for n, l in enumerate(ran.choice(stri.ascii_uppercase + stri.digits) for _ in range(35))).rstrip('-')
        p5.append(yt)
    pwd = ''.join(ran.choice(stri.ascii_lowercase + stri.digits + stri.punctuation) for _ in range(ran.randint(10, 36)))
    pwd_list.append(pwd)
    userid = id1
    username = member
    password = pwd
    tokens = ["userID", "username", "password", "keys"]
    values = [userid, username, password]
    user_dict = {tokens[i]: values[i] for i in range(len(values))}
    premium_key_token = ["premium", "key"]
    premium_key_value = [True, premium_key]
    special_sandbox_key_token = ["special_sandbox", "key"]
    special_sandbox_key_value = [True, special_sandbox_key]
    premium_key_dict = {premium_key_token[i]: premium_key_value[i] for i in range(len(premium_key_value))}
    sandbox_key_dict = {special_sandbox_key_token[i]: special_sandbox_key_value[i] for i in range(len(special_sandbox_key_value))}
    key_list_dict.append(premium_key_dict)
    key_list_dict.append(sandbox_key_dict)
    print("Key_list: " + str(key_list_dict))
    user_dict[tokens[3]] = key_list_dict
    user_dict_final.append(user_dict)
    print("User_dict: {}".format(user_dict))
    key_list_dict = []

with open("file1.json", "w") as f1:
    json.dump(user_dict_final, f1, indent=4)