应用python random标准库做一个随机生成密码的程序,可以随机生成任意多个字符。(基于python2.7,如果是python3需要修改下)

案例:

#-*-coding:utf-8 -*-
#author:wangxing import random
import string
import sys #存储大小写字母和数字,特殊字符列表
STR = [chr(i) for i in range(65,91)] #65-91对应字符A-Z
str = [chr(i) for i in range(97,123)] #a-z
number = [chr(i) for i in range(48,58)] #0-9 #特殊字符串列表获取有点不同
initspecial = string.punctuation #这个函数获取到全部特殊字符,结果为字符串形式
special = [] #定义一个空列表 #制作特殊符号列表
for i in initspecial:
special.append(i) total = STR + str + number + special
#print total
choices = ['6','8','10','16'] def Randompassword(your_choice):
if your_choice in choices:
passwordli = random.sample(total,int(your_choice)) ##sample函数作用是取几个列表里的值并返回一个新列表,此处得到的是列表需要转换为字符串显示出来
passwordst = ''.join(passwordli) #现在得到的是转换后的字符串 ‘’是分隔符,里面可以为; : . 等等
print "\033[32m生成的\033[0m" + your_choice + "\033[32m位数密码为:\033[0m\n" + passwordst else:
print "\033[31m请输入指定位数(6,8,10,16) \033[0m" if __name__ == '__main__':
while True:
choice = raw_input("\033[33m请输入你要得到随机密码的位数:(6,8,10,16)\033[0m\n")
if choice != 'q': #输入q则退出循环
Randompassword(choice) #执行函数
else:
break

python random使用生成随机字符串的更多相关文章

  1. [ Python - 5 ] 通过random模块生成随机字符串

    import random checkcode = '' for i in range(4): if i == random.randint(0,3): current = chr(random.ra ...

  2. python 生成随机字符串

    1.生成随机字符串 #数字+字母+符号 def getRandChar(n): l = [] #sample = '0123456789abcdefghijklmnopqrstuvwxyz!@#$%^ ...

  3. .net生成随机字符串

    生成随机字符串的工具类: /// <summary> /// 随机字符串工具类 /// </summary> public class RandomTools { /// &l ...

  4. JS生成随机字符串的多种方法

    这篇文章主要介绍了JS生成随机字符串的方法,需要的朋友可以参考下 下面的一段代码,整理电脑时,记录备查. <script language="javascript"> ...

  5. PHP中生成随机字符串,数字+大小写字母随机组合

    简单的生成随机字符串: /* * 生成随机字符串 * * $length 字符串长度 */ function random_str($length) { // 密码字符集,可任意添加你需要的字符 $c ...

  6. iOS开发:Swift/Objective-C高效生成随机字符串

    原文连接 Objective-C版 // 随机生成字符串(由大小写字母.数字组成) + (NSString *)random: (int)len { char ch[len]; for (int in ...

  7. PHP 生成随机字符串与唯一字符串

    说明:生成随机字符串用到的方法有 mt_rand() 生成唯一字符串用到的方法有 md5(),uniqid(),microtime() 代码: <?php /* * 生成随机字符串 * @par ...

  8. PHP生成随机字符串包括大小写字母

    PHP生成随机字符串包括大小写字母,这里介绍两种方法: 第一种:利用字符串函数操作 <?php /** *@blog <www.phpddt.com> */ function cre ...

  9. 生成随机字符串(UUID方法)

    这是另一种用UUID生成随机字符串的方法. public class RandomGenerator{ private int length; public void setLength(int le ...

随机推荐

  1. view简写 TemplateView.as_view()

    view简写 TemplateView.as_view() https://code.ziqiangxuetang.com/django/django-generic-views.html (1)如果 ...

  2. python并发编程知识点总结

    1.到底什么是线程?什么是进程? Python自己没有这玩意,Python中调用的操作系统的线程和进程. 2.Python多线程情况下: 计算密集型操作:效率低,Python内置的一个全局解释器锁,锁 ...

  3. 六顶思维帽的思考,敏捷开发?——By Me

    人类的思维可以分为很多种,其中按照思维的深度和广度的侧重,可以分为纵向思维和横向思维两种: 简单的来说,“六顶思维帽”可以简单的理解为下图所示: 如何使用这种思维方式呢?举个例子:先输入一个待讨论的事 ...

  4. 01 javaSe 01 抽象类和接口

      抽象类 接口   目录(?)[-] 1 抽象类与接口是面向对象思想层面概念不是程序设计语言层面概念 2 抽象类是本体的抽象接口是行为的抽象 3 C中抽象类与接口的探讨     目录(?)[+]   ...

  5. Hadoop MapReduce InputFormat基础

    有时候你可能想要用不同的方法从input data中读取数据.那么你就需要创建一个自己的InputFormat类.   InputFormat是一个只有两个函数的接口.   public interf ...

  6. Delphi 正则表达式语法(4): 常用转义字符与 .

    Delphi 正则表达式语法(4): 常用转义字符与 . // \d 匹配所有数字, 相当于 [0-9] var   reg: TPerlRegEx; begin   reg := TPerlRegE ...

  7. LeetCode:二叉树的后序遍历【145】

    LeetCode:二叉树的后序遍历[145] 题目描述 给定一个二叉树,返回它的 后序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1] 进阶: 递归算法很 ...

  8. Kattis - wheretolive 【数学--求质心】

    Kattis - wheretolive [数学] Description Moving to a new town can be difficult. Finding a good place to ...

  9. 对Java 注解的一些理解

    转载自https://blog.csdn.net/javazejian/article/details/71860633 引入 注解最简单的使用方式 Java注解与普通修饰符(public\stati ...

  10. git指令整理汇总

    Git 1.git init 创建版本库,初始化 2.git add  向git添加文件,把文件添加到版本库 3.git log   告诉我们历史记录 4.git commit -m ‘’ 提交修改 ...