Python のユニークなランダム文字列ジェネレーターを教えてください。以前はuuid.uuid1()
を使用していまし たが、これはさまざまなオペレーティング システムでいくつかの不規則性を示しているため、良くありません。問題のない作業のために、プロジェクト内のすべてのパッケージの前に uuid をインポートする必要がありますが、これはお勧めできません。/dev/random を使用するos.urandom(n)
についても聞いたことがあります。そのエントロピーは十分ですか?? それについてはよくわかりません。
私のプロセスで文字列の衝突を許すことはできません。
これで私を助けることができる他の方法はありますか?
質問する
3860 次
1 に答える
7
>>> import string
>>> import random
>>> ''.join(random.sample(string.letters*5,5))
'QcQxx'
説明:
>>> string.letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
さらにランダムになるように、5 を掛けます。数値が高いほど、より多くの重複を取得する可能性が高くなります。
random.sample(k, n)
n
からランダムな要素を返しstring.letters
ますが、リストとして返します。
''.join()
リストを単純な文字列に結合するために呼び出されます。
于 2013-06-06T12:56:29.783 に答える