Python

Bonjour à toutes et tous, j’ai un peu besoin d’aide dans ma découverte de python.

J’ai fait un petit programme qui calcule les mini / maxi d’un fichier CNC gcode, les distances d’usinage et rapide, les temps d’usinages et rapide, c’est un peu besogneux dans l’écriture mais comme je ne connais pas python, je résultat me satisfait pour un début. Le but est autant d’avoir le programme, que de voir ce que c’est que python.

Ce programme ne prend pas encore en compte les interpolations circulaires et les cycles de perçages, mais ça devrait pas être complique a rajouter. J’ai cependant un petit problème, pour le lancer j’ai fait un .bat (je suis sous windows) qui fait :

C:\Users\Pierre\AppData\Local\Programs\Python\Python38\python.exe E:\Donnees\python\projet_python\preparation_gcode\preparation_gcode.py > E:\Donnees\python\resultat\preparation.txt

Le resultat se trouve donc dans : E:\Donnees\python\resultat\preparation.txt et voivci l’exemple de ce que ca fait:

preparation.txt (1,5 Ko)

Encore une fois , c’est pas siouxe, mais ca me va. Je voudrais juste mettre un popup message a la fin du python pour rappeler ou se trouve le resultat et c’est la que ca coince. J’ai trouve un exemple auquel je ne comprend pas grand chose dans le passage des arguments (messagbox.py).

Si j’execute ce messagbox.py tout seul j’ai bien mes popup messages (infobox, message box, oui_non box etc…), mias lorsque j’integre entierement ce python dans le mien j’ai une erreur liée aux arguments et comme je ne comprends rien a cette methode d’arguments, je ne trouve pas l’erreur.

Je joins:
Le gcode de test (implantation.gcode):

implantation.gcode (7,6 Ko)

mon bout de python (preparation_gcode.py) qui fonctionne bien sauf a la fin lorsque je veux afficher un message du style « le résultat se trouve dans … » ça se plante.

Dans ce zip vous trouverez aussi le message.py qui fonctionne parfaitement lorsqu’utilisé tout seul.

preparation_gcode.zip (4,4 Ko)

Un bon point de départ pour Python de manière générale

J’ai regardé ton code et l’exemple dont tu es parti. Je n’ai rien trouvé d’évident.

Pourrais-tu poster le message d’erreur exact de l’interpréteur ?

ce message n’apparait que lorsque j’appelle

if __name__ == "__main__":

    print("info", showinfo("Spam", "Egg Information"))
    print("warning", showwarning("Spam", "Egg Warning"))
    print("error", showerror("Spam", "Egg Alert"))
    print("question", askquestion("Spam", "Question?"))
    print("proceed", askokcancel("Spam", "Proceed?"))
    print("yes/no", askyesno("Spam", "Got it?"))
    print("yes/no/cancel", askyesnocancel("Spam", "Want it?"))
    print("try again", askretrycancel("Spam", "Try again?"))

Traceback (most recent call last):
  File "E:\Donnees\python\projet_python\preparation_gcode\preparation_gcode.py", line 344, in <module>
    print("info", showinfo("Spam", "Egg Information"))
  File "E:\Donnees\python\projet_python\preparation_gcode\preparation_gcode.py", line 106, in showinfo
    return _show(title, message, INFO, OK, **options)
  File "E:\Donnees\python\projet_python\preparation_gcode\preparation_gcode.py", line 94, in _show
    res = Message(**options).show()
  File "C:\Users\Pierre\AppData\Local\Programs\Python\Python38\lib\tkinter\__init__.py", line 3403, in __init__
    Widget.__init__(self, master, 'message', cnf, kw)
  File "C:\Users\Pierre\AppData\Local\Programs\Python\Python38\lib\tkinter\__init__.py", line 2567, in __init__
    self.tk.call(
_tkinter.TclError: unknown option "-icon"

salut, tu peux essayer de faire un simple « from tkinter import messagebox »
et ensuite
"messagebox.showinfo(« Title », « le fichier se trouve blabla »)

Super ca marche merci a tous les 2

image

@ Thomas : Le MOOC commence par : Dans ce cours, vous apprendrez à bien programmer en Python.

Y aurait il un message subliminal :slight_smile:

Absolument pas :woozy_face:.

Je t’avouerai que je n’ai pas lu le texte décrivant le cours. Je suis actuellement entrain de le suivre et je le trouve bien. Je partageai juste l’information

@thomas

Merci pour le partatage, je vais m’y atteler aussi.