2012-07-21 2 views
2

가능한 중복 :
python random string generation with upper case letters and digitsPython - 8 바이트 길이의 임의의 문자열을 만드는 방법은 무엇입니까?

내가 파이썬에서 8 바이트 길이의 임의의 문자열을 작성해야합니다.

rand_string = ? 

어떻게하면됩니까?

감사

+2

이것은 ** [대문자와 숫자가있는 [파이썬 임의 문자열 생성]과 중복되지 않습니다 ** (http://stackoverflow.com/questions/2257441/python-random-string-generation-with-upper- 대/소문자 및 숫자). 이 질문은 임의의 바이트 테스트를 원하지만 다른 문자는 제한된 문자 세트로 임의의 문자열을 원합니다. – phihag

답변

15
import os 
rand_string = os.urandom(8) 

는 8 자 길이의 임의의 문자열을 만들겠습니까.

+13

아니요, 8 바이트 길이의 문자열을 만듭니다. "성격"은 해석의 문제입니다. –

4

os.urandom은 정확하게이 인터페이스를 제공합니다. 파이썬 3.x의에서

import random 
def randomBytes(n): 
    return bytearray(random.getrandbits(8) for i in range(n)) 

: 당신이 random 모듈을 사용하려면 (결정 임의성을위한 플랫폼이 os.urandom을 구현하지 않는 일이 있기 때문에, 또는)

, 당신은 함수를 직접 구성해야합니다 bytearraybytes으로 대체 할 수 있지만 대부분의 경우 bytearraybytes 개체처럼 동작해야합니다.

관련 문제