Как в Python сгенерировать наименование файла определенного формата?

Первые 4 символа я имею.
Нужно дописать оставшиеся 4 символа рандомными символами A-Z и 0-1.
К примеру имею 4255
нужно на выходе получить строку 4255А45С
Спасибо за помощь.
  • Вопрос задан
  • 643 просмотра
Решения вопроса 2
@mefisto
from random import choice
from string import ascii_uppercase


other_four_symbols = ''.join([choice(list(ascii_uppercase)+map(str, range(0,10))) for _ in range(4)])


list(ascii_uppercase)+map(str, range(0,10)) - делаем список из A-Z и 0-9
choice() - вытаскиваем элемент из этого списка
[choice() for _ in range(4)] - делаем выбор 4 раза
''.join - объединяем в строку

Пример:
In [35]: ''.join([choice(list(ascii_uppercase)+map(str, range(0,10))) for _ in range(4)])
Out[35]: '9ZCD'
Ответ написан
Комментировать
@abcd0x00
>>> import string
>>> import random
>>> 
>>> def gen_random_chars(nrandchars):
...     alpha = string.ascii_uppercase + string.digits
...     chars = ''.join(random.choice(alpha) for _ in range(nrandchars))
...     return chars
... 
>>> def gen_name(prefix):
...     return prefix + gen_random_chars(4)
... 
>>> for i in range(10):
...     gen_name('abcd')
... 
'abcdZ5VK'
'abcdT8V4'
'abcdJJCN'
'abcd92IQ'
'abcdW0QP'
'abcdNQLB'
'abcdQ1WS'
'abcdF8SG'
'abcd7WB1'
'abcdA3X3'
>>>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
можно использовать модуль tempfile. примерно так
import os
import tempfile

temp = tempfile.NamedTemporaryFile(prefix="456")
try:
    print 'temp:', temp
    print 'temp.name:', temp.name
finally:
    # Automatically cleans up the file
    temp.close()
print 'Exists after close:', os.path.exists(temp.name)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы