转载自品略图书馆 http://www.pinlue.com/article/2020/04/1003/4810139721035.html

代码:

# -*- coding: utf-8 -*-

from random import choice

import string

import os,re,sys

dict={}

path=os.getcwd()

#specialchars="!@#$%^&*()"        #设置特殊字符(可选)

def GenPasswd(length):

#    chars=string.letters+string.digits+specialchars

chars="23456789abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ"  #去掉字母o和O,字母i和I,字母l和L,方便区分数字0,1

num = 5;

while num > 0:

num = num - 1

j = "".join([choice(chars) for i in range(length)])

#以下判断为了避免同次执行时有重复【随机码】

if not dict.has_key(j):

dict[j]=i

return 0

print("已经重复%d次获取到相同的key,退出程序\n",num)

exit()

def usage():

usages="""

*******************

使用方法和提示:

输入[前缀] 如果全是空格或TAB(或空格和TAB的混合)默认为无前缀(等同于直接回车键)

输入[密码长度] 最小大于0

输入[密码数量] 最小大于0,该项不填,默认只生成1个密码字符

*******************

"""

print usages,

def usage_warning():

print "#"+"-"*78+"#"

u_w="""

请注意:输入[前缀] 如果全是空格或TAB(或空格和TAB的混合)默认为无前缀(等同于直接回车键)

"""

print u_w,

print "#"+"-"*78+"#"

def check(input_str):

if re.match(r"^\d+$", input_str):

pass

else:

print "填写随机码的长度和数量时,输入的字符[都必须]是数字,请重新执行!"

print("\n***按任意键继续...")

os.system("pause>nul")

def logic(arg1,arg2,arg3):

if (arg1 != "") and (arg2 == ""):

check(arg1)

if (int(arg1) != 0):

GenPasswd(int(arg1))

else:

usage()

for m in dict.keys():

merge = arg3 + m

print merge

f.write("%s\n"%merge)

elif (arg1 != "") and (arg2 != ""):

check(arg1)

check(arg2)

if (int(arg1) != 0) and (int(arg2) != 0):

for i in range(int(arg2)):

GenPasswd(int(arg1))

for m in dict.keys():

merge = arg3 + m

print merge

f.write("%s\n"%merge)

else:

usage()

else:

usage()

if __name__=="__main__":

f=open("%s/code.txt"%path,"a")

print "#"+"-"*78+"#"

print "\t功能:任意长度,任意数量 包含大小写字母,数字的随机码生成"

print "\t更新:加入前缀码输入功能"

print "\t备注:去掉字母o和O,字母i和I,字母l和L,方便区分数字0,1"

print "\t"+"writed by:联运支持 [@boban 2013-04-01]"

print "#"+"-"*78+"#"

#print "***请输入参数***:"

arg3 = raw_input("*随机码前缀 请输入【数字或字母或字数混合】,可空):")

arg1 = raw_input("*随机码长度 请输入【数字】,必填,备注:该项不包含"前缀"长度):")

arg2 = raw_input("*随机码数量 请输入【数字】,可空,备注:输入需要的随机码数量,若为空,则默认生成1个随机码):")

if re.match(r"^\s+$", arg3):

usage_warning()

arg3=""

logic(arg1,arg2,arg3)

else:

logic(arg1,arg2,arg3)

f.close()

print("\n*随机码已保存在程序所在目录code.txt文件中,请检查\n***按任意键退出...")

os.system("pause>nul")

python如何生成非重复cdkey相关推荐

  1. python之生成不重复的随机密码

    ''' 第一种方法:判断新生成的值是否在已经生成的密码字符串之中 第二种方法:每生成一个密码字符就把它从密码库中移除问题:怎么才能使用递归的方法实现 ''' #不能用递归的方法 # def judge ...

  2. python怎么生成不重复的字符_如何在不重复的情况下生成一组字符的所有组合?...

    我有以下清单:['a', 'b', 'c'] 我正在寻找一种方法来生成所有可能的字符串,这些字符串包含以下限制:一个字符不能出现多次(aab,aba,abca等无效) 可以排除字符(ab有效,即使c不 ...

  3. python 随机生成不重复的6位数_随机生成6位数、随机生成不重复的6位数

    随机生成一个几位数,这种比较常见的操作今天我们来看一下,例如随机生成6位数,直接来简单明了的吧: int num = (int) ((Math.random() * 9 + 1) * 100000); ...

  4. python 组合数字和字符_python无限生成不重复(字母,数字,字符)组合的方法

    python无限生成不重复(字母,数字,字符)组合的方法 使用python自带的itertools模块 调用其product函数 传入我们想组合生成的字符数据 便会源源不断的生成组合 而且不会重复 r ...

  5. php 不重复订单号,php如何生成不重复的订单号,php不重复订单编号

    php如何生成不重复的订单号PHP如何生成重复的订单号,php生成不重复订单号的方法如下:1.利用数据库的主键值生成自增订单号:2.实现"日期自增号"的订单号:3.生成随机订单号: ...

  6. python随机生成k个不重复的随机数_使用Python生成不重复的随机值

    uuid是128位的全局唯一标识符(univeral unique identifier),通常用32位的一个字符串的形式来表现,自带了uuid模块来进行uuid的生成和管理工作. python中的u ...

  7. 微课|中学生可以这样学Python(例5.1):生成不重复的随机数

    适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第5章  Python序列及应用 5.1.6  精彩例题分析与解答 例5.1  生成不重复的随机数 ...

  8. python使用random生成不重复的随机数

    注:如果直接使用random无法避免生成不重复的随机数,除非使用set,所以换一个思路,在所给的区域的所有数值中选择一定数量的数即可,只要给定的数不存在重复值,那么就不会被选出同样的数. 可根据需求修 ...

  9. python统计excel中重复数据_Python中用pandas对标Excel自带功能——去除重复项

    经常听别人说 Python 在数据领域有多厉害,结果学了很长时间,连数据处理都麻烦得要死.后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器-- pandas 前言 有时候数据中出 ...

最新文章

  1. oracle补丁怎么配置,如何检查Oracle补丁是否已安装?
  2. mybatis初始化过程
  3. java学习(126):throw向上抛出异常
  4. 帧同步和状态同步(二)案例分析
  5. php kibana查询,搜索您的数据 | Kibana 用户手册 | Elastic
  6. Linux下通配符总结
  7. 三顺,因为你,我笑了。
  8. CentOS7安装配置启动MySQL(附解决password does not satisfy)
  9. owncloud个人私有云 一键安装包操作指南
  10. c mysql开发工具_Windows平台下Mysql C程序设计
  11. 阿里云短信验证码平台使用demo
  12. 【java毕业设计】基于javaEE+SSM+MySql的BS架构微博系统设计与实现(毕业论文+程序源码)——BS架构微博系统
  13. U盘被写保护或无法写数据无法格式化的问题解决
  14. TB6560 驱动板资料
  15. Oracle sql大于和小于号的转义写法
  16. 关于我AbortME
  17. GST1212M非制冷红外探测器调试成像
  18. android 球面 旋转 坐标系,天球坐标系和地球坐标系-GPS定位原理及应用-电子发烧友网站...
  19. 用django开发一个报修系统
  20. 北京工业计算机英语口语复试,北京工业大学复试回忆

热门文章

  1. IPV6_PPPOE服务器搭建
  2. Python安装教程(版本3.8.10)windows10
  3. AS第一次作业:实现APP门户界面框架设计
  4. 第十四届蓝桥杯三月真题刷题训练——第 10 天
  5. Android开发丶集成微信原生分享并于分享网页时加载网络缩略图
  6. PictureCutting图片批量裁切(裁剪)工具
  7. 基于PHP+MSQL的在线邮箱管理系统的设计与实现【开题报告、源码】
  8. 程序员如何规划自己的职业生涯?
  9. 关于汽车行业生产仿真(物流仿真)的必要性论述
  10. 怎样对三维切片 MATLAB,绘制切片中的三维矩阵 - MATLAB