1

Python のユニークなランダム文字列ジェネレーターを教えてください。以前はuuid.uuid1()
を使用していまし たが、これはさまざまなオペレーティング システムでいくつかの不規則性を示しているため、良くありません。問題のない作業のために、プロジェクト内のすべてのパッケージの前に uuid をインポートする必要がありますが、これはお勧めできません。/dev/random を使用するos.urandom(n) についても聞いたことがあります。そのエントロピーは十分ですか?? それについてはよくわかりません。 私のプロセスで文字列の衝突を許すことはできません。 これで私を助けることができる他の方法はありますか?


4

1 に答える 1

7

randomstringモジュールはどうですか?

>>> 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 に答える