Вопрос:
- Как создать объект с 3 пользователями и 2 ключами на пользователя, используя python?
Цель:
- У меня есть 3 пользователя, которые имеют 2 ключа на пользователя. Мне нужно создать json для него. Но код сильно загроможден.
Ожидаемый результат:
[
{
"userID": 2536414,
"username": "Sairam",
"password": "7jhyf45[kh]",
"keys": [
{
"premium": true,
"key": "K89JH-IUFH5-J6HR4-PO67H-OP09U"
},
{
"special_sandbox": true,
"key": "K89JH-65POL-J6HR4-PO67H-OP09U-89IOU-POHU7"
}
]
}
]
как для трех пользователей.
Фактический результат:
[
{
"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"
}
]
}
Создает json как выше.
Код для справки:
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)
json слишком большой, поэтому я вырезал некоторые части.
Спасибо за чтение !!