a priori ton problème vient du début de ton code ( File ", line 1 … non publié )
sinon en récupérant ton code j’ai tester le code suivant et ça fonctionne …
#!/usr/bin/env python3
# coding: utf-8
import os
import time
def change_mac_adress():
# Check current working directory.
retval = os.getcwd()
# Now change the directory for find bdaddr
os.chdir("/home/pi/bdaddr")
# Check current working directory.
retval = os.getcwd()
time.sleep(1)
print(retval)
os.system("./bdaddr -i hci0")
a, b, c, d, e, f = input(" Enter MAC address separated by space : ").split()
address_mac = (a + ":" + b + ":" + c + ":" + d + ":" + e + ":" + f)
print(address_mac)
os.system("sudo ./bdaddr -i hci0 -r " + address_mac)
while True:
print ("1) changer l'adresse MAC")
print ("2) juste pour tester le test (!) ")
print ("3) quitter")
rep = input("entrer votre choix :")
if rep == "1":
change_mac_adress()
elif rep == "2":
print("ok le elif fonctionne ! ")
elif rep == "3":
print("fini")
exit(0)
else:
print("t as saisie nimp ...")
PS : pour afficher le code formaté il faut saisir au début et a la fin 3 quotes « inversée » touche 7 è avec alt gr …
a part la ligne command_mac_adress = ("sudo ./bdaddr -i hci0 -r" + adress_mac)
où il manque un espace : command_mac_adress = ("sudo ./bdaddr -i hci0 -r " + adress_mac)
qui fait planter la commande …
et le os.system(make) qui n’est utile qu’une fois ( quand bdaddr n'est pas compilé) et ``` make = 'cd bdaddr && make'
qui pourrait être avec le path complet
``` make = ‹ cd /home/pi/bdaddr && make ›`
ok je chipote !