Python自带常量(本例中改用这个,不用手工定义了) string.digits #十进制数字:0123456789 string.octdigits #八进制数字:01234567 string.hexdigits #十六进制数字:0123456789abcdefABCDEF string.ascii_lowercase #小写字母(ASCII):abcdefghijklmnopqrstuvwxyz string.ascii_uppercase #大写字母(ASCII):ABCDEFGHIJKLMNOPQRSTUVWXYZ string.ascii_letters #字母:(ASCII)abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ string.punctuation #标点符号:!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
#!/usr/bin/python #coding=utf8 from random import choice import string,sys passwd_seed = string.digits + string.ascii_lowercase + string.ascii_letters + string .punctuation """function to generate a passwd""" def get_passwd(passwd_length=10): ####默认值 passwd = [] while len(passwd) < passwd_length: passwd.append(choice(passwd_seed)) password=''.join(passwd) #password=password.replace("'","\\\'")###这里是为了转义引号,在传入md5加密时遇到引号不识别 #password=password.replace('"','\\\"')### return password if __name__ == "__main__": if len(sys.argv) == 1: print get_passwd() else: length = int(sys.argv[1]) print get_passwd(length)