python-随机生成 C 语言的字符串数组

import random
import click

# using sample : python generate.py generate -l 5 -n 6
# {"4QSn8O", "gKND", "Tnr3", "Gkz1ndxg2s", "OgIxM", "AI8esGN", }

BASE_STR = 'ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789'
BASE_NUM = [4, 5, 6, 7, 8, 9, 10]


def generate_random_str(str_len, base_str):
    str_list = random.sample(base_str, str_len)
    random_str = "".join(str_list)
    return random_str

@click.command()
@click.option(
    '--str_len',
    "-l",
    envvar="str_len",
    required=False,
    default=10,
    type=click.INT,
    help="one string len",
)
@click.option(
    '--str_number',
    "-n",
    envvar="str_number",
    required=False,
    default=10,
    type=click.INT,
    help="string number",
)
def generate(str_len=5, str_number=5):
    list_number = 0
    string_list = "{"
    while True:
        if list_number < str_number:
            length = len(BASE_NUM) - 1
            str_len = BASE_NUM[random.randint(0, length)]
            string_list += '"' + generate_random_str(str_len, BASE_STR) + '"' + ', '
            list_number += 1
            if list_number % 10 == 0:
                string_list += '\n'
        else:
            break
    string_list += '}'
    with open("generate_string.c", "w") as f:
        f.write("generate_buff[{0}] = ".format(str_number) + str(string_list) + ";")

    print(string_list)


if __name__ == '__main__':
    generate()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值