Генерация чисел/текста определенным образом/в определенной форме

#python #random #key #generate

Вопрос:

Работая над сценарием для создания ключа из букв/цифр определенным образом, мне нужно сгенерировать ключ в формате , подобном показанному здесь xxxx-xxxx-xxxx , я бы сгенерировал ключ в замене xxxx-xxxx-xxxx подобного 19n3-m1m9-1nl1 , но затем сгенерировал этот ключ перед другой строкой, подобной Key=xxxx-xxxx-xxxx этой, Key=19n3-m1m9-1nl1 и повторил его несколько раз, а затем сохранил эту строку в текстовом файле

Комментарии:

1. 'Key={}{}{}{}-{}{}{}{}-{}{}{}{}'.format(*'19n3m1m91nl1') дает 'Key=19n3-m1m9-1nl1'

2. У вас есть вопрос?

Ответ №1:

Если вы предоставите более подробную информацию, я смогу лучше ответить на ваш вопрос, но вот как я добьюсь того, что, по моему мнению, вы пытаетесь:

1: Импорт соответствующих модулей

 import random, string
 

2: Сгенерируйте случайную строку из 16 букв / цифр. Обратите внимание, что это не приведет к равномерному распределению цифр/букв по всему ключу, как в приведенном вами примере — пожалуйста, дайте мне знать, если это требуется.

 key = ''.join(random.choices(string.ascii_lowercase   string.digits, k=16))
 

3: «Присоединяйтесь» к группам из 4 символов с тире.

 key = '-'.join([key[:4], key[4:8], key[8:12], key[12:16]])
 

4: Наконец, добавьте «Ключ=» в начало строки:

 key = "Key="   key
 

5: Пример вывода:

 'Key=ed2o-kn7o-jyif-18wo'
 

Вы можете сохранить это в текстовый файл с помощью:

 text_file = open("keys.txt", "w")
text_file.write(key)
text_file.close()