2 votes

Erreur de syntaxe lors de l'appel d'un script .py lorsque je relâche l'ImageButton

Je suis un débutant en codage, je développe actuellement une application. Dans cette application, j'ai un ImageButton, lorsque je le libère, il appelle un script .py. Cependant, pour une raison quelconque, il continue à me donner une SytanxError, même si (à ma compréhension) il n'y a pas de SyntaxError.

Voici ce que j'ai dans mon main.py :

    def run_test(self):
        os.system("python externalconnection.py")

Voici le code écrit dans externalconnection.py :

import asyncio
from bleak import BleakClient

address = "#######"
rw_characteristic = '######'

async def connect(address):
    async with BleakClient(address, loop=loop) as client:
        await client.get_services()
        value = await client.read_gatt_char(rw_characteristic)
        print("Pre-Write Value: {0}".format(value))
        await client.write_gatt_char(rw_characteristic, bytearray([0x01]), response=True)
        value = await client.read_gatt_char(rw_characteristic)
        print("Post-Write Value: {0}".format(value))

loop = asyncio.get_event_loop()
loop.run_until_complete(connect(address))

Voici l'erreur que j'obtiens :

File "externalconnection.py", line 7
    async def connect(address):
            ^
SyntaxError: invalid syntax

Au cas où vous vous poseriez la question, le fichier externalconnection.py fonctionne parfaitement et fait ce dont j'ai besoin, si je l'exécute seul sur un projet séparé de l'application.

Toute aide que je pourrai obtenir sera très appréciée !!!

2voto

inclement Points 6708

C'est l'erreur que vous obtiendriez si vous exécutiez ce code sous une version de Python qui n'a pas encore la fonction async def comme Python 2.7.18.

Assurez-vous que le python que vous résolvez est ce que vous pensez qu'il est, et qu'il s'agit d'une version de Python qui supporte cette syntaxe.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X