diff --git a/sio2/sisr/20-python/comptes.txt b/sio2/sisr/20-python/comptes.txt new file mode 100644 index 0000000..710b2f9 --- /dev/null +++ b/sio2/sisr/20-python/comptes.txt @@ -0,0 +1,3 @@ +adupont:Albert Dupont +jduroy:Jeannette Duroy +mdurand:Marcelle Durand diff --git a/sio2/sisr/20-python/exo4.py b/sio2/sisr/20-python/exo4.py index 7218afe..40bdbe2 100644 --- a/sio2/sisr/20-python/exo4.py +++ b/sio2/sisr/20-python/exo4.py @@ -1 +1,34 @@ -#! +#!/usr/bin/python3 + +# tips lancement : sudo python creatusr.py comptes.txt + +import os +import sys + +def create_user(login, full_name): + try: + # Commande pour créer un utilisateur avec le login et le nom complet + os.system(f'sudo useradd -m -c "{full_name}" {login}') + print(f"Utilisateur {login} créé avec succès.") + except Exception as e: + print(f"Erreur lors de la création de l'utilisateur {login}: {e}") + +def main(filename): + try: + with open(filename, 'r') as file: + for line in file: + # Suppression des espaces et découpage de la ligne + line = line.strip() + if line: + login, full_name = line.split(':') + create_user(login.strip(), full_name.strip()) + except FileNotFoundError: + print(f"Le fichier {filename} n'a pas été trouvé.") + except Exception as e: + print(f"Erreur lors de la lecture du fichier {filename}: {e}") + +if __name__ == "__main__": + if len(sys.argv) != 2: + print("Usage: python creatusr.py ") + else: + main(sys.argv[1])