微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 Python 中的文件创建用户帐户的最佳方法?

如何解决从 Python 中的文件创建用户帐户的最佳方法?

我正在尝试能够从我在 Python 中上传文件中批量创建用户帐户。因此,不是一次创建一个用户,我可以给出 X 数量用户的列表并快速创建它们。例如,如果我有一个包含以下用户名文件 (newusers.csv),我该如何轻松地做到这一点?

名字、姓氏、用户名

汤姆猫 tcat11

杰瑞鼠标 Jmouse21

迷你鼠标 Mmouse

下面是我应该创建用户代码

def user_account():
   userinformation = readFile("newusers.csv")
   try:
      subprocess.run(['useradd','-p',userinformation[1:]])
   except:
      print(f"Failed to add user.")
      sys.exit(1)

解决方法

我不知道您想要在 useradd 命令中使用哪些特定选项等,因此我将忽略此内容。但是,关于方法:这是您可以通过创建 User 类来处理它的一种方法。

import csv

class User:
    def __init__(self,firstname,lastname,username):
        self.firstname = firstname
        self.lastname = lastname
        self.username = username
    
    def save(self):
        try:
            # WHATEVER COMMAND AND OPTIONS YOU ARE LOOKING TO RUN
            # USING self.username,ETC. AS ARGS 
        except:
            print("failed to add user")
            sys.exit(1) # if you don't want to attempt any of the other users

    @staticmethod
    def mass_save(users):
        for user in users:
            user.save()

    @staticmethod
    def read_users_from_file(file_path):
        with open(file_path,"rt") as f:
            users = csv.reader(f)
            next(users) # Skip header row
            return [User(*row) for row in users] # Unpack each userinfo row from csv upon instantiation


if __name__ == "__main__":
    users = User.read_users_from_file("users.csv")
    User.mass_save(users)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。