Bonjour,
Je commence en Python et j'essaie de faire un programme permettant de pinger un poste ou une imprimante sur le réseau. Le code fonctionne sous Mac avec python 3.6.1 et renvoie bien ok pour le ping
Par contre avec python 3.6.4 sous Windows 7 32bits ou Windows 10 64bits, le programme renvoie toujours no response, alors qu'avec le terminal cmd le poste ou le site par exemple www.google.com répond bien. Je ne comprends pas pourquoi et à priori il n'y à pas de bug dans le script.
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 from platform import system as system_name # Returns the system/OS name import subprocess # Execute a shell command import os def ping(host): """ Returns True if host (str) responds to a ping request. Remember that some hosts may not respond to a ping request even if the host name is valid. """ # Ping parameters as function of OS parameters = "-n 1" if system_name().lower()=="windows" else "-c 1" # Pinging pingResult = subprocess.call(["ping", parameters, host], stdout=open(os.devnull, 'wb'), stderr=open(os.devnull, 'wb')) if pingResult == 0: print("Address {} OK".format(host)) else: print("Address {} no response".format(host)) def main(): imprimante = input("Nom de l'imprimante : ") machine = input ("Ordinateur : ") ping(machine) main()
Merci d'avance pour vos lumières.
Partager