Les arguments sql que vous passez à execute
doit être dans un tuple ou une liste, même s'il n'y en a qu'un seul. Ceci est noté dans la documentation :
Pour la liaison de variables positionnelles, le deuxième argument doit toujours être une séquence, même s'il contient une seule variable. Et rappelez-vous que Python nécessite une virgule pour créer un tuple d'élément unique :
Vous devez donc procéder comme ceci :
ip ="127.0.0.1"
sql="select count(*) from radacct where nasipaddress=%s"
cur.execute(sql, (ip,))