Re: Questions Python
salut Pierre, On Tue, Aug 30, 2022 at 07:31:58PM +0200, Pierre ESTREM wrote: > widget = master.focus_get() > print(widget()) # Aucun retour vraiment: je t'encourage à reposer la question sur le forum de l'afpy. * ce tu trouveras des gens plus motivés et connaisseurs pour répondre à cette question * je pense que ce genre de questions est vraiment hors sujet ici (en tout cas pour ma part je ne suis plus sur les listes python justement parce que ce langage me ... laisse dubitatif :)) bonne chance. -- Marc Chantreux Pôle de Calcul et Services Avancés à la Recherche (CESAR) http://annuaire.unistra.fr/p/20200
Re: Questions Python
Bonjour, La variable "widget" reçoit (pointe au sens de C ?) l'objet qui a le focus (à ce stade je ne sais pas quel objet aurait ce focus). """ Mon code #!/usr/bin/env python3 # coding: utf-8 from tkinter import * from tkinter.ttk import * import os master = Tk() def focus(event): widget = master.focus_get() print(widget()) # Aucun retour """ J'ai testé différentes propriétés mais j'obtiens uniquement la classe de l'objet (ou erreurs) et jamais le nom de la variable pointée. Ca doit se faire ! :) Pour ipython3 je vois cela, merci. a+ pierre estrem Le 30/08/2022 à 13:09, Marc Chantreux a écrit : Bonjour Pierre, Pour obtenir une liste des méthodes d'un objet de classe Canvas, je lis qu'on peut exécuter : print dir (Canvas()) c'est de la syntaxe python2 (ce qui me fait me demander quelle doc. tu lis: vraiment, si tu n'as pas de code historique à gérer, oublie python2). J'obtiens une erreur ; quelle est la bonne syntaxe ? c'était la bonne syntaxe... il y a longtemps. il faut maintenant mettre des parenthèses autour des arguments de print. D'autre part je ne trouve pas la méthode qui retourne le nom d'un widget pointé mais j'obtiens son type, en faisant : print (widget) L'instance widget a le focus et j'ai besoin de connaître son type, mais de plus son petit nom (ex: listbox1, entry2 etc). de quoi tu parles quand tu dis "le nom"? si c'est le nom de la variable qui y fait référence dans ton programme (ce que je crois comprendre en lisant l'exemple), ce soit etre possible en comparant le la référence à toutes les clefs du namespace standard. je ne crois pas que python aie une fonction builtin pour ca vu le peu d'intéret de la chose. Merci de m'aider. Avec plaisir. Je me permet 2 conseils: * reposer ces questions aurprès des gens de l'afpy (ils avaient une liste de diffusion naguère mais ils ont une vision bien a eux de la modernité et sont passés sur discourse:https://discuss.afpy.org/): python est exactement le sujet de leurs fora, tu y trouveras des gens calés, passionnés et sympa. * si tu souhaites explorer les objets, découvrir leurs methodes, les valeurs et tout ça (on appelle ça l'introspection), il existe ipython3 qui devrait de faciliter la vie. cordialement,
Re: Questions Python
Bonjour JF et le Monde, Effectivement en Python3 il me fallait encadrer "dir" avec des parenthèses. On obtient bien une liste des propriétés et méthodes de la classe passée en paramètre de "dir". > Pour le widget, cela dépendpeut-être de sa nature; as-tu essayé: > print (widget()) Avec cette écriture, aucun retour. a+ pierre estrem Le 30/08/2022 à 09:47, Jean-François Colas a écrit : Bonjour Pierre, Avec Python 3, il faudra plutôt écrire: print (dir (Canvas)) La syntaxe que tu utilises pourrait être valide avec Python 2, en fonction de ce qu'est Canvas. Pour le widget, cela dépendpeut-être de sa nature; as-tu essayé: print (widget()) J.-F. Le 29/08/2022 à 23:14, Pierre ESTREM a écrit : Bonjour la liste, Dans mon apprentissage de Python, je progresse et sèche sur des points. Pour obtenir une liste des méthodes d'un objet de classe Canvas, je lis qu'on peut exécuter : print dir (Canvas()) J'obtiens une erreur ; quelle est la bonne syntaxe ? D'autre part je ne trouve pas la méthode qui retourne le nom d'un widget pointé mais j'obtiens son type, en faisant : print (widget) L'instance widget a le focus et j'ai besoin de connaître son type, mais de plus son petit nom (ex: listbox1, entry2 etc). Merci de m'aider. -- Pierre ESTREM
Re: Questions Python
Bonjour Pierre, Avec Python 3, il faudra plutôt écrire: print (dir (Canvas)) La syntaxe que tu utilises pourrait être valide avec Python 2, en fonction de ce qu'est Canvas. Pour le widget, cela dépendpeut-être de sa nature; as-tu essayé: print (widget()) J.-F. Le 29/08/2022 à 23:14, Pierre ESTREM a écrit : Bonjour la liste, Dans mon apprentissage de Python, je progresse et sèche sur des points. Pour obtenir une liste des méthodes d'un objet de classe Canvas, je lis qu'on peut exécuter : print dir (Canvas()) J'obtiens une erreur ; quelle est la bonne syntaxe ? D'autre part je ne trouve pas la méthode qui retourne le nom d'un widget pointé mais j'obtiens son type, en faisant : print (widget) L'instance widget a le focus et j'ai besoin de connaître son type, mais de plus son petit nom (ex: listbox1, entry2 etc). Merci de m'aider. -- Pierre ESTREM
Re: Apprendre à sécuriser un réseau domestique
un portable ou un téléphone en wifi devra obligatoirement passer par le VPN pour accéder à une ressource interne ça veut dire que t'as pas de TV ou Hifi connectée en filaire ? f. bonjour Si, la TV est connectée en filaire au serveur multimédia (Universal Media Server) du serveur qui n'écoute que sur l'interface interne. amitiés, -- Erwann
Re: Questions Python
Bonjour Pierre, > Pour obtenir une liste des méthodes d'un objet de classe Canvas, je lis > qu'on peut exécuter : > print dir (Canvas()) c'est de la syntaxe python2 (ce qui me fait me demander quelle doc. tu lis: vraiment, si tu n'as pas de code historique à gérer, oublie python2). > J'obtiens une erreur ; quelle est la bonne syntaxe ? c'était la bonne syntaxe... il y a longtemps. il faut maintenant mettre des parenthèses autour des arguments de print. > D'autre part je ne trouve pas la méthode qui retourne le nom d'un widget > pointé mais j'obtiens son type, en faisant : > print (widget) > L'instance widget a le focus et j'ai besoin de connaître son type, mais de > plus son petit nom (ex: listbox1, entry2 etc). de quoi tu parles quand tu dis "le nom"? si c'est le nom de la variable qui y fait référence dans ton programme (ce que je crois comprendre en lisant l'exemple), ce soit etre possible en comparant le la référence à toutes les clefs du namespace standard. je ne crois pas que python aie une fonction builtin pour ca vu le peu d'intéret de la chose. > Merci de m'aider. Avec plaisir. Je me permet 2 conseils: * reposer ces questions aurprès des gens de l'afpy (ils avaient une liste de diffusion naguère mais ils ont une vision bien a eux de la modernité et sont passés sur discourse: https://discuss.afpy.org/): python est exactement le sujet de leurs fora, tu y trouveras des gens calés, passionnés et sympa. * si tu souhaites explorer les objets, découvrir leurs methodes, les valeurs et tout ça (on appelle ça l'introspection), il existe ipython3 qui devrait de faciliter la vie. cordialement, -- Marc Chantreux Pôle de Calcul et Services Avancés à la Recherche (CESAR) http://annuaire.unistra.fr/p/20200
Re: Questions Python
Bonjour, pour lister les méthodes d'une "class" en python3 il faut mettre dir dans les parenthèses print(dir(Canvas)) Cdt Loïc Le 29/08/2022 à 23:14, Pierre ESTREM a écrit : Bonjour la liste, Dans mon apprentissage de Python, je progresse et sèche sur des points. Pour obtenir une liste des méthodes d'un objet de classe Canvas, je lis qu'on peut exécuter : print dir (Canvas()) J'obtiens une erreur ; quelle est la bonne syntaxe ? D'autre part je ne trouve pas la méthode qui retourne le nom d'un widget pointé mais j'obtiens son type, en faisant : print (widget) L'instance widget a le focus et j'ai besoin de connaître son type, mais de plus son petit nom (ex: listbox1, entry2 etc). Merci de m'aider. -- Pierre ESTREM
Re: Questions Python
Bonjour, (Réponse partielle) Le 2022-08-29 23:14, Pierre ESTREM a écrit : Pour obtenir une liste des méthodes d'un objet de classe Canvas, je lis qu'on peut exécuter : print dir (Canvas()) En Python 3 il faut mettre des parenthèses à "print". Ça n'est pas ça ton erreur ? Sébastien