Python Système de commandes personnalisée

Résolu
FERRY.A
Messages postés
1
Date d'inscription
vendredi 15 août 2014
Statut
Membre
Dernière intervention
15 août 2014
- 15 août 2014 à 20:12
 Noyastrim - 6 sept. 2014 à 20:49

sexe = input("Indiquez si vous êtes un homme ou une femme")
Print("Bonjour à toi {}".format(sexe))

Aujourd'hui En tant que petit nouveau de cette communauté, je me présente déjà moi.


Class MineShadow:

def __init__():
âge = 15
passion = informatique/prog python
heures_perdues = Youtube


Voilà tout en bref ^^

Mon problème est donc j'ai créer ce code:

fichier cmd.py dans le fichier module

def help()
print("ceci est l'aide")

def commande(cmde):
cmde()



Et enfin le fichier Rôlling Dice.py qui est le logiciel de base.

cmde = "blank"

#Boucle pour les commandes
while cmde != "quitter":

cmde=input("Tapez help pour un liste des commandes: ")
if cmde == "quitter":
break
cmd.commande(cmde)

voilà mon objectif étend d'appelé une fonction créer au sein du fichier cmd, en tapant son nom dans l'input du fichier Rôlling Dice.
Exemple: Si l'input fournit équivaut help, alors appelé la fonction help et ceci sans boucle if.

En gros pour ceux qui n'ont pas compris, je prends l'input et je l'appel directement en ajoutant "()" ce qui aurais normalement pour effet d'appeler la fonction en input, mais comme il s'aggit d'une string on ne peut pas appeler cette input.

Y a-t-il une autre solution? Si oui la quelle?


print("merci d'avance")

2 réponses

jordane45
Messages postés
35435
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
356
15 août 2014 à 23:12
Bonjour,
je ne fais pas de python.. mais ne serait ce pas getattr que tu cherches ?
https://docs.python.org/2/library/functions.html
getattr(object, name[, default])

Return the value of the named attribute of object. name must be a string. If the string is the name of one of the object's attributes, the result is the value of that attribute. For example, getattr(x, 'foobar') is equivalent to x.foobar. If the named attribute does not exist, default is returned if provided, otherwise AttributeError is raised.

Exemples :
http://stackoverflow.com/questions/3061/calling-a-function-from-a-string-with-the-functions-name-in-python
*
m = __import__ ('foo')
func = getattr(m,'bar')
func()


1
MineShadow
Messages postés
11
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
14 septembre 2014

15 août 2014 à 23:18
Nope, ça demande une input, tu met un truc dans l'input genre help et ça appel la fonction help() moi je me heurte au fait que ce soit un string donc non callable
0
MineShadow
Messages postés
11
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
14 septembre 2014

15 août 2014 à 23:23
Merci quand même d'avoir essayer de m'aider ^^
0
jordane45
Messages postés
35435
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
356
16 août 2014 à 02:05
0
MineShadow
Messages postés
11
Date d'inscription
dimanche 2 février 2014
Statut
Membre
Dernière intervention
14 septembre 2014

Modifié par MineShadow le 16/08/2014 à 08:43
Merci Jordane je viens de regarder ça ferra parfaitement l'affaire ^^
je n'avait pas compris le fonctionnement c'est pour ça que je pensait que ça ne ferrais pas ce que je voulais ^^
0
jordane45
Messages postés
35435
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 mai 2022
356
16 août 2014 à 15:44
Pense à mettre la discussion en résolu (lien sous le titre de ta question )
0
if(cmde == "COMMANDE"):
fonction()
-1