Bonjour,

Pour mon travail, je dois faire un script qui ajoute automatiquement des adresses IP dans le fichier LMhosts sous windows.
J'ai commencé mon travail et j'ai réussi à pondre un script.
Tout fier je me dis chouette j'ai réussi mais à force de l'utiliser j'ai remarqué plusieurs choses qui ne marchent pas.
J'ai créé une liste qui contient l'IP, le nom du poste et le suffixe #PRE.
L'IP est dans une variable que je modifie dans une fenêtre et le reste codé en dur dans le script.
Le hic c'est que quand je mets pas d'IP, le codé en dur s'affiche quand même.

Donc je demande de l'aide sur comment procéder, comment fait pour que quand je mets pas d'adresse IP ça ne s'affiche pas dans le lmhosts.

Et deuxième question, y-a-t'il un moyen de simplifier le tout notamment la partie du Tkinter?

Merci pour votre aide.

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
from tkinter import *
 
def lmhost():
    fileName = "c:/windows/System32/Drivers/Etc/lmhosts"
    #fileName = 'c:/test/lmhosts'       # Nom du fichier a modifier
 
    ipN1 = entr1.get()                   # Variables d'entrees
    ipC1 = entr2.get() 
    ipC2 = entr3.get()
    ipC3 = entr4.get()
    ipC4 = entr5.get()
    ipC5 = entr6.get()
    ipC6 = entr7.get()
    ipC7 = entr8.get()
    ipC8 = entr9.get()
    ipC9 = entr10.get()
 
    data = ('\r', ipN1,'     N1     #PRE','\r', ipC1,'     C1     #PRE','\r', ipC2,'     C2     #PRE','\r', ipC3,'     C3     #PRE','\r', ipC4,'     C4     #PRE','\r', ipC5,'     C5     #PRE','\r', ipC6,'     C6     #PRE','\r', ipC7,'     C7     #PRE','\r', ipC8,'     C8     #PRE','\r', ipC9,'     C9     #PRE')     # Données à mettre dans le fichier + retour à la ligne
 
    file = open(fileName, "a")          # Ouverture en écriture en mode ajout
    contenu = file.writelines(data)     # Ecriture dans le fichier 
    print(contenu)
    file.close()                        # Fermeture du fichier
 
def quitter(event):                     # Fonction quand on appuie sur ESC la fenetre se ferme
    quitter = event.widget
    fen.destroy()
 
def executer(event):                    # Fonction quand on appuie sur Enter le programme se lance
    executer = event.widget
    lmhost()
 
fen = Tk()
fen.title('Modification LmHosts')                  # Titre de la fenetre
fen.config(bg='grey')                              # couleur de fond de la fenetre
fen.grab_set()                                     # Verifier a quoi ca sert ????
fen.focus_set()                                    # Donne le focus a un widget
fen.resizable(width=False, height=False)           # Empeche le redimensionnement de la fenetre
 
text0 = Label(fen, text='Entrer les IP des Postes :', bg='red')
text0.grid( row=0, column=0)
 
 
text1 = Label(fen, text='N1 :',  fg='blue')
text1.grid( row=2, sticky=W)
entr1 = Entry(fen, takefocus=1)
entr1.grid( row=2, column=1)
entr1.insert(0, '10.x.x.96')
 
text2 = Label(fen, text='C1 :', fg='blue')
text2.grid( row=3, sticky=W)
entr2 = Entry(fen, takefocus=1)
entr2.grid( row=3, column=1)
entr2.insert(0, '10.x.x.105')
 
text3 = Label(fen, text='C2 :', fg='blue')
text3.grid( row=4, sticky=W)
entr3 = Entry(fen, takefocus=1)
entr3.grid( row=4, column=1)
entr3.insert(0, '10.x.x.106')
 
text4 = Label(fen, text='C3 :', fg='blue')
text4.grid( row=5, sticky=W)
entr4 = Entry(fen, takefocus=1)
entr4.grid( row=5, column=1)
entr4.insert(0, '10.x.x.107')
 
text5 = Label(fen, text='C4 :', fg='blue')
text5.grid( row=6, sticky=W)
entr5 = Entry(fen, takefocus=1)
entr5.grid( row=6, column=1)
entr5.insert(0, '10.x.x.108')
 
text6 = Label(fen, text='C5 :', fg='blue')
text6.grid( row=7, sticky=W)
entr6 = Entry(fen, takefocus=1)
entr6.grid( row=7, column=1)
entr6.insert(0, '10.x.x.109')
 
text7 = Label(fen, text='C6 :', fg='blue')
text7.grid( row=8, sticky=W)
entr7 = Entry(fen, takefocus=1)
entr7.grid( row=8, column=1)
entr7.insert(0, '10.x.x.110')
 
text8 = Label(fen, text='C7 :', fg='blue')
text8.grid( row=9, sticky=W)
entr8 = Entry(fen, takefocus=1)
entr8.grid( row=9, column=1)
entr8.insert(0, '10.x.x.111')
 
text9 = Label(fen, text='C8 :', fg='blue')
text9.grid( row=10, sticky=W)
entr9 = Entry(fen, takefocus=1)
entr9.grid( row=10, column=1)
entr9.insert(0, '10.x.x.112')
 
text10 = Label(fen, text='C9 :', fg='blue')
text10.grid( row=11, sticky=W)
entr10 = Entry(fen, takefocus=1)
entr10.grid( row=11, column=1)
entr10.insert(0, '10.x.x.113')
 
text11 = Label(fen, text='')                                       # creer un espace
text11.grid( row=12, column=0)
 
bout1 = Button(fen, text='Quitter', command=fen.destroy)           # ou command=fen.quit
bout1.grid( row=13, column=1)
bout1.bind_all("<Escape>", quitter)                                # Touche ESC pour quitter le programme
 
bout2 = Button(fen, text='Executer',width=10,  command=lmhost)
bout2.grid( row=13, column=0)
bout2.bind_all("<Return>", executer)                               # Touche Enter pour executer le programme
 
fen.mainloop()