とある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Ⅰ①