Python创建用户并随机生成8位数密码

Python016

Python创建用户并随机生成8位数密码,第1张

#先验证方法,无法在系统创建用户(待优化)

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)

name=input()if name=='这个地方是你判断用的用户名':缩进pass=input()缩进if pass=='这里是你判断的密码':缩进缩进print('用户名密码都对')缩进else:缩进缩进print('密码不对')else:缩进print('用户名不对')