您当前的位置:易学堂 > 运维教程

Python随机验证码生成和join字符串的问题解析

时间:2022-04-22 15:27:36

Python中有join()和os.path.join()两个函数,join是将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串而os.path.join(): 将多个路径组合后返回,本文给大家介绍的非常详细,需要的朋友一起看看吧

函数:string.join()

Python中有join()和os.path.join()两个函数,具体作用如下:

  • join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串
  • os.path.join(): 将多个路径组合后返回

一、函数说明

1、join()函数

语法:‘sep’.join(seq)

参数说明

  • sep:分隔符。可以为空
  • seq:要连接的元素序列、字符串、元组、字典

上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串

返回值:返回一个以分隔符sep连接各个元素后生成的字符串

2、os.path.join()函数

  • 语法: os.path.join(path1[,path2[,…]])
  • 返回值:将多个路径组合后返回

注:第一个绝对路径之前的参数将被忽略#对序列进行操作(分别使用' '与':'作为分隔符)

#对序列进行操作(分别使用' '与':'作为分隔符)
  
>>> seq1 = ['hello','good','boy','doiido']

>>> print ' '.join(seq1)
hello good boy doiido
>>> print ':'.join(seq1)
hello:good:boy:doiido
    
#对字符串进行操作
>>> seq2 = "hello good boy doiido"
>>> print ':'.join(seq2)
h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o
#对元组进行操作  
>>> seq3 = ('hello','good','boy','doiido')
>>> print ':'.join(seq3)
#对字典进行操作
>>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4}
>>> print ':'.join(seq4)
boy:good:doiido:hello
#合并目录  
>>> import os
>>> os.path.join('/hello/','good/boy/','doiido')
'/hello/good/boy/doiido'

随机验证码生成

import random
li = []
for i  in range(6):
    r = random.randrange(0,5)
    print(r)
    if r == 2 or r ==4:
        num = random.randrange(0,10)
        li.append(str(num))
    else:
        tmp = random.randrange(65,91)
        c = chr(tmp)
        li.append(c)

    
print(li)
re = "".join(li)    
print(re)

补充介绍下面看下python生成随机验证码

思路:

  • 1、新增一个空列表
  • 2、把ASCII表的字符添加到空列表
  • 3、从列表中生成6个随机数
  • 4、把生成的列表拼接成字符串,输出即可

import random,string
#方法1
li_code = []
for i in range(65,91):#大写字母A-Z
    li_code.append(chr(i))
for j in range(97,123):#小写字母a-z
    li_code.append(chr(j))
for k in range(48,58):#数字0-9
    li_code.append(chr(k))
code = random.sample(li_code,6)
ran_code = "".join(code)
print(ran_code)
import random,string
#方法2
str1 = "0123456789"
str2 = string.ascii_letters
str3 = str1+str2
code = random.sample(str3,6)
l_code = "".join(code)
print(l_code)
import random,string
#方法3
s_code = string.ascii_letters+string.digits
code = random.sample(s_code,6)
print("".join(code))

到此这篇关于Python随机验证码生成和join 字符串的文章就介绍到这了!

标签: Python