#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
@author:VVIC
@file: vvic_tool.py
@time: 2019/09/05
@Description:
@version: 1.0
"""
import re
import string
from random import choice, shuffle
import pypinyin
import logging
import argparse
class CreateUser(object):
def __init__(self, cn_name):
self.cn_name = cn_name
logging.basicConfig(
level=logging.DEBUG,
format="%(asctime)s %(levelname)s %(message)s",
datefmt="%a, %Y-%m-%d %H:%M:%S",
filemode="a",
# filename="D:\\onedrive\\workspace\\software\\vvic_tools.log",
filename="D:\\vvic_tools.log",
)
password1 = (
[choice(string.ascii_lowercase) for _ in range(5)]
+ [choice(string.ascii_uppercase) for _ in range(5)]
+ [choice(string.digits) for _ in range(5)]
+ [choice("@#$%^&*()_+-=") for _ in range(1)]
)
shuffle(password1)
password1 = "".join(password1)
password2 = "".join(
[choice(string.ascii_letters + string.digits) for _ in range(16)]
)
user_info = (
cn_name + " " + self.hp2 + " " + self.hp + " " + password1 + " " + password2
)
logging.info(user_info + " " + self.hp + "@vvic.com")
print(user_info + " " + self.hp + "@vvic.com")
@property
def hp(self):
# 不带声调的(style=pypinyin.NORMAL)
pinyin_name = ""
for i in pypinyin.pinyin(self.format_cn_name, style=pypinyin.NORMAL):
pinyin_name += "".join(i)
return pinyin_name
@property
def hp2(self):
# 带声调的(默认)
pinyin_name = ""
for i in pypinyin.pinyin(self.format_cn_name):
pinyin_name = pinyin_name + "".join(i) + " "
return pinyin_name
@property
def format_cn_name(self):
cn_name = self.cn_name
if len(cn_name) > 4:
regex_cn = re.compile("[\u4e00-\u9fa5]*")
cn_name = regex_cn.match(cn_name).group()
#生僻字或英文与中文对应
cn_name = re.sub(r"曾", "zeng", cn_name)
cn_name = re.sub(r"Leon", "测试", cn_name)
cn_name = re.sub(r"leon", "测试", cn_name)
cn_name = re.sub(r"佛", "fo", cn_name)
return cn_name
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="create user info")
parser.add_argument("-n", "--name", type=str, help="i don not know")
args = parser.parse_args()
print("1t2ntG2H283gin80")
if args.name:
cu = CreateUser(args.name)
执行
python vvic_tool.py -n 张三
执行结果
张三 zhang san zhangsan pD2V9g42uqBS7Qy% ftptGSyOkzCMDU4z zhangsan@vvic.com
注:
- 需要更改日志目录
- 需要安装pypinyin模块
pip install pypinyin