Мне нужно создать случайные текстовые строки определенного формата. Понравились бы некоторые идеи, чтобы я мог его закодировать в Python. Формат: < 8-значный номер> < 15 символов строка>.Создание случайных текстовых строк заданного шаблона
ответ
#!/usr/bin/python
import random
import string
digits = "".join([random.choice(string.digits) for i in xrange(8)])
chars = "".join([random.choice(string.letters) for i in xrange(15)])
print digits + chars
EDIT: понравилась идея использования random.choice лучше, чем randint(), поэтому я обновил код для отражают это.
Примечание: это предполагает, что требуются символы в нижнем и верхнем регистре. Если в нижнем регистре только затем изменить второй список понимание следующего содержания:
chars = "".join([random.choice(string.letters[:26]) for i in xrange(15)])
Очевидно, что для прописные только вы можете просто перевернуть, что вокруг так слайс [26:] вместо наоборот.
См. Пример - Recipe 59873: Random Password Generation.
Строительство по рецепту, вот это решение на ваш вопрос:
from random import choice
import string
def GenPasswd2(length=8, chars=string.letters + string.digits):
return ''.join([choice(chars) for i in range(length)])
>>> GenPasswd2(8,string.digits) + GenPasswd2(15,string.ascii_letters)
'28605495YHlCJfMKpRPGyAw'
>>>
random.sample
- альтернативный вариант. Разница, как можно найти в python.org documentation, заключается в том, что random.sample
образцов без замены. Таким образом, random.sample(string.letters, 53)
приведет к ValueError
. Затем, если вы хотите, чтобы сгенерировать случайную строку из восьми цифр и пятнадцать символов, можно было бы написать
import random, string
digits = ''.join(random.sample(string.digits, 8))
chars = ''.join(random.sample(string.letters, 15))
Вот простой вариант:
import random
import string
digits = "".join([random.choice(string.digits+string.letters) for i in xrange(10)])
print digits
- 1. Создание заданного числа строк
- 2. Создание массива случайных строк [Java]
- 3. Создание определенных случайных массивов строк
- 4. Анализ нескольких текстовых файлов и их восстановление до заданного шаблона
- 5. db2 выберите x случайных строк для заданного id
- 6. Создание случайных строк с T-SQL
- 7. Создание случайных чисел для строк без них
- 8. Python: сравнить два текстовых файла для одинаковых случайных строк
- 9. Создание случайных изображений
- 10. Создание заданного размера матрицы
- 11. Создание случайных строк из пула строк с помощью QuickCheck
- 12. Создание массива случайных Струнный
- 13. Специализация класса шаблона для заданного шаблона класса
- 14. Создание случайных данных
- 15. Поиск строк в случайных данных
- 16. Создание строк в зависимости от аргументов шаблона
- 17. Последовательное создание строк на основе предопределенного шаблона
- 18. Генератор случайных чисел в пределах заданного диапазона
- 19. выбора случайных данных из заданного списка
- 20. Переименование файлов для заданного шаблона
- 21. Grep для поиска заданного шаблона
- 22. iMacro для генерации случайных текстовых или случайных чисел для twitter
- 23. Создание шаблона шаблона шаблона C++
- 24. Создание матриц из заданного массива ячеек строк с одинаковыми длинами
- 25. Создание случайных слов в Java?
- 26. Генератор случайных строк
- 27. Печать случайных наборов строк?
- 28. Генерация случайных строк Jython
- 29. Редактирование генератора случайных строк
- 30. Помощник случайных строк Php
Хороший ответ! (Раньше я даже не видел random.choice.) – 2008-12-15 06:35:40