import random
import string
import getpass
user1 =input('请您输入用户名: ')
user2 = string.digits+string.ascii_letters
def gen_pass(n =8):
result=''
for iin range(n):
zd = random.choice(user2)
result += zd
return result
print(gen_pass())
import sys
import subprocess
import string
from pass2 import randpass #pass2是之前python随机生成8位数密码脚本的名称,randpass是脚本里面的变量
def add_user(user,passwd,fname):
# 判断用户是否存在
result = subprocess.run('id %s &>/dev/null'% user,shell=True)
if result.returncode ==0:
print('用户已存在!')
# return 类似于循环的 break,函数遇到return就结束了
return
# 创建用户,添加密码
subprocess.run('useradd %s' % user,shell=True)
subprocess.run('echo %s | passwd --stdin %s' % (passwd,user),shell=True)
info ="""用户: %s
密码: %s
""" %(user,passwd)
with open(fname,'a')as fobj:
fobj.write(info)
if __name__ =='__main__':
user = sys.argv[1]
fname = sys.argv[2]
passwd = randpass()
add_user(user,passwd,fname)
import string
import random
for i in range(10):
s=''
for j in range(8):
s+=''.join(random.choice(string.digits+string.ascii_letters))
print(s)
#python3中为string.ascii_letters,而python2下则可以使用string.letters和string.ascii_letters#生成随机密码,length为密码长度,包含数字,字母
def GenPassword(length=8,chars=string.ascii_letters+string.digits):
return ''.join([choice(chars) for i in range(length)])