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 38207 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 juin 2024 344
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 38207 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 juin 2024 344
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 38207 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 juin 2024 344
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
Rejoignez-nous