如何解决从 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 举报,一经查实,本站将立刻删除。