end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

python で、asciiやかな、漢字、機種依存文字を含むランダム文字列を生成

とあるweb入力formのseleniumによる自動テストを作成する際に役立つかと思い。

次の通りかと思います。

#!/usr/local/bin/python
# -*- coding: utf-8 -*-

import random

def main():
    make_random_str(30,["number","kanji","kishuizon"])
    
def make_random_str(char_len,char_groups):
    chars = \
        {"number"   : "0123456789",
         "alphabet" : "abcdefghij",
         "symbol"   : "~!@#$%^&*(",
         "space"    : " \t  \t  \t  ",
         "hiragana" : "あいうえおぎゃぎょー",
         "katakana" : "アイウエオギャギョー",
         "hankata"  : "アイウエオャギョー",
         "kanji"    : "日本東京都港区虎ノ門",
         "kishuizon": "㈱髙﨑①Ⅰα㍻㋿─○"}

    str_source = "";
    for char_group in char_groups:
        str_source += chars[char_group]

    # 元となる文字列が短い場合、random.sample()が失敗する為
    while len(str_source) <= char_len:
        str_source += str_source

    print( "".join(random.sample(str_source, char_len)) )


if __name__ == "__main__":
    main()

↑こう書くと、↓こう表示されます

0東﨑○㋿α5京門日本﨑都東23㈱94虎髙718区─ノ6Ⅰ①