2012年10月4日

ランダムな文字列を生成するPythonスクリプト

randomモジュールを使ってパスワードのようなランダムな文字列を作成してみる。
ベースとなる文字列はとりあえず簡単に数字とアルファベットを考える。 stringモジュールに数字、アルファベットの定数が定義されているのでそれを使う。
import string
source = string.digits + string.letters
random.choiceメソッドは渡されたシーケンスからランダムに選ばれた要素を返す。文字列も文字のシーケンスだから、ベースとなる文字列を渡すとランダムな文字が得られる。
import random
s = ''
s += random.choice(source)
これを作成したい文字列長分繰り返して、取得した文字をつなげればランダムな文字列になる。文字列長をlengthとすれば以下のような感じ
for i in range(1, length):
    s += random.choice(source)
まとめると

import string
import random

def gen_random_string(length):
    source = string.digits + string.letters

    s = ''
    for i in range(1, length):
        s += random.choice(source)

    return s

0 件のコメント:

コメントを投稿