[python] affichage result cmd dos avec os.pyt
stephane70
-
stephane70 -
stephane70 -
Bonjour a tous,
Je viens de créer un petit script qui 'normalement' permet de gérer les horaires de mes enfants passés devant leur ordinateur.
C'est normalement un truc tout simple qui utilise os.popen pour passer une commande dos net user /times et qui devrait donner le résultat de la commande dans une seconde fenêtre.
Le souci est que même si la commande marche, je n'ai rien qui s'affiche dans cette nouvelle fenêtre. J'ai donc dû me planter quelque part mais je ne vois pas ou.
Je fais donc appel à vous pour m'aider à pointer l'erreur.
Voici mon script :
ps : Ah oui j'allais oublier, je voudrais qu'après avoir validé par le bouton 'envoyer', mes Entry redeviennent vide mais je n'ai pas trouvé le truc. Donc si vous pouvez également m'aiguiller.
Merci d'avance
Cordialement
Lonewolf
Je viens de créer un petit script qui 'normalement' permet de gérer les horaires de mes enfants passés devant leur ordinateur.
C'est normalement un truc tout simple qui utilise os.popen pour passer une commande dos net user /times et qui devrait donner le résultat de la commande dans une seconde fenêtre.
Le souci est que même si la commande marche, je n'ai rien qui s'affiche dans cette nouvelle fenêtre. J'ai donc dû me planter quelque part mais je ne vois pas ou.
Je fais donc appel à vous pour m'aider à pointer l'erreur.
Voici mon script :
# -*- coding: cp1252 -*- from Tkinter import * import os from ScrolledText import * #definition du traitement def nom(): global b nom=ent1.get() lundi=ent2.get() mardi=ent3.get() mercredi=ent4.get() jeudi=ent5.get() vendredi=ent6.get() samedi=ent7.get() dimanche=ent8.get() commande="net user "+nom+" /times:L," +lundi+";Ma,"+mardi+";Me,"+mercredi+";J,"+jeudi+";V,"+vendredi+";S,"+samedi+";D,"+dimanche #print commande a=os.popen(commande) b=a.read() a.close() result() def result(): fen1=Toplevel() fen1.title("Résultat") print b texte = ScrolledText(fen1, width = 35, height = 5, font = "Arial 10", relief = "groove") texte.pack() #Ecriture des données texte.config(state = NORMAL) #Permettre l'écriture texte.insert("1.0", b) #Gestion de l'insertin des lignes #1 = 1ere ligne 0 = 1er caractere de la ligne texte.config(state = DISABLED) #Interdire les modifications bou4=Button(fen1,text='Fermer',command=fen1.destroy) bou4.pack() #définition reinitialiser def reinitialiser(): nom=ent1.get() commandere="net user "+nom+" /times:all" print commandere #b=os.popen(commandere) #Fenêtre principal fen=Tk() fen.title('Horaires V1.0 par S.Pillot') text1=Label(fen,text='Entrer le nom de la session a limiter : ',fg='red') text1.grid(column=0,row=0) ent1=Entry(fen) ent1.grid(column=1,row=0) text2=Label(fen,text='Entrer les heures permises selon le modèle suivant : 13:00-20:00') text2.grid() text3=Label(fen,text='Lundi',fg='red') text3.grid(column=0,row=3) ent2=Entry(fen) ent2.grid(column=1,row=3) text4=Label(fen,text='Mardi',fg='red') text4.grid(column=0,row=4) ent3=Entry(fen) ent3.grid(column=1,row=4) text5=Label(fen,text='Mercredi',fg='red') text5.grid(column=0,row=5) ent4=Entry(fen) ent4.grid(column=1,row=5) text6=Label(fen,text='Jeudi',fg='red') text6.grid(column=0,row=6) ent5=Entry(fen) ent5.grid(column=1,row=6) text7=Label(fen,text='Vendredi',fg='red') text7.grid(column=0,row=7) ent6=Entry(fen) ent6.grid(column=1,row=7) text8=Label(fen,text='Samedi',fg='red') text8.grid(column=0,row=8) ent7=Entry(fen) ent7.grid(column=1,row=8) text9=Label(fen,text='Dimanche',fg='red') text9.grid(column=0,row=9) ent8=Entry(fen) ent8.grid(column=1,row=9) bou1=Button(fen,text='Envoyer',command=nom) bou1.grid(column=2,row=10) bou3=Button(fen,text='Reinitialiser',command=reinitialiser) bou3.grid(column=0,row=10) bou2=Button(fen,text=' Quitter ',command=fen.destroy) bou2.grid(column=2,row=12) fen.mainloop()
ps : Ah oui j'allais oublier, je voudrais qu'après avoir validé par le bouton 'envoyer', mes Entry redeviennent vide mais je n'ai pas trouvé le truc. Donc si vous pouvez également m'aiguiller.
Merci d'avance
Cordialement
Lonewolf
A voir également:
- [python] affichage result cmd dos avec os.pyt
- Cmd - Guide
- Citizen code python avis - Accueil - Outils
- Scannow cmd - Guide
- Affichage double ecran - Guide
- Cmd mac - Guide
1 réponse
Rebonjour
J'ai pu reinitialiser les widgets Entry.
Je donne le script modifié et je continue mes recherches. J'ai aussi tenté le module commands sans plus de succès à la place d'os.popen.
Merci encore pour votre aide précieuse.
Amicalement
Stephane70
J'ai pu reinitialiser les widgets Entry.
Je donne le script modifié et je continue mes recherches. J'ai aussi tenté le module commands sans plus de succès à la place d'os.popen.
Merci encore pour votre aide précieuse.
Amicalement
Stephane70
# -*- coding: cp1252 -*- from Tkinter import * import os from ScrolledText import * #definition du traitement def nom(): global b nom=ent1.get() lundi=ent2.get() mardi=ent3.get() mercredi=ent4.get() jeudi=ent5.get() vendredi=ent6.get() samedi=ent7.get() dimanche=ent8.get() commande="net user "+nom+" /times:L," +lundi+";Ma,"+mardi+";Me,"+mercredi+";J,"+jeudi+";V,"+vendredi+";S,"+samedi+";D,"+dimanche #print commande a=os.popen(commande) b=a.read() a.close() print b result() def result(): fen1=Toplevel() fen1.title("Résultat") texte = ScrolledText(fen1, width = 35, height = 5, font = "Arial 10", relief = "groove") texte.pack() #Ecriture des données texte.config(state = NORMAL) #Permettre l'écriture texte.insert("1.0", b) #Gestion de l'insertin des lignes #1 = 1ere ligne 0 = 1er caractere de la ligne texte.config(state = DISABLED) #Interdire les modifications #Remettre à zero les entrées ent1.delete(0,END) ent2.delete(0,END) ent3.delete(0,END) ent4.delete(0,END) ent5.delete(0,END) ent6.delete(0,END) ent7.delete(0,END) ent8.delete(0,END) bou4=Button(fen1,text='Fermer',command=fen1.destroy) bou4.pack() #définition reinitialiser def reinitialiser(): nom=ent1.get() commandere="net user "+nom+" /times:all" print commandere a=os.popen(commandere) b=a.read() a.close() print b result() #Fenêtre principal fen=Tk() fen.title('Horaires V1.0 par S.Pillot') text1=Label(fen,text='Entrer le nom de la session a limiter : ',fg='red') text1.grid(column=0,row=0) ent1=Entry(fen) ent1.grid(column=1,row=0) text2=Label(fen,text='Entrer les heures permises selon le modèle suivant : 13:00-20:00') text2.grid() text3=Label(fen,text='Lundi',fg='red') text3.grid(column=0,row=3) ent2=Entry(fen) ent2.grid(column=1,row=3) text4=Label(fen,text='Mardi',fg='red') text4.grid(column=0,row=4) ent3=Entry(fen) ent3.grid(column=1,row=4) text5=Label(fen,text='Mercredi',fg='red') text5.grid(column=0,row=5) ent4=Entry(fen) ent4.grid(column=1,row=5) text6=Label(fen,text='Jeudi',fg='red') text6.grid(column=0,row=6) ent5=Entry(fen) ent5.grid(column=1,row=6) text7=Label(fen,text='Vendredi',fg='red') text7.grid(column=0,row=7) ent6=Entry(fen) ent6.grid(column=1,row=7) text8=Label(fen,text='Samedi',fg='red') text8.grid(column=0,row=8) ent7=Entry(fen) ent7.grid(column=1,row=8) text9=Label(fen,text='Dimanche',fg='red') text9.grid(column=0,row=9) ent8=Entry(fen) ent8.grid(column=1,row=9) bou1=Button(fen,text='Envoyer',command=nom) bou1.grid(column=2,row=10) bou3=Button(fen,text='Reinitialiser',command=reinitialiser) bou3.grid(column=0,row=10) bou2=Button(fen,text=' Quitter ',command=fen.destroy) bou2.grid(column=2,row=12) fen.mainloop()