IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Affecter une liste de thread dans une liste


Sujet :

Python

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 2
    Par défaut Affecter une liste de thread dans une liste
    Bonjour,

    Je n'arrive pas à affecter des threads dans une liste comme dans l'exemple suivant, le compilateur m'indique toujours une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Class maClass :
        def __init__(self):
     
        def mafunction (self):
            maliste=()
                for i n range(3) :
                    maliste(i)=thread1()
     
    Class thread1((threading.Thread)):
        def __init__(self):
     
        def run(run):
           print("ok")
    Comment pourrai-je affecter les threads dans une boucle ?
    Merci d'avance.

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Par défaut
    Bonjour,

    plusieurs remarques sur ton code:
    • si tu ne fais rien de spécial dans les méthodes __init__, autant ne pas les mettre ou au moins un 'pass'. Attention, dans ta classe thread1, le mieux est de supprimer __init__, sinon, il faut appeler le constructeur parent
    • pour créer une liste , il faut utiliser les crochets '[]', sinon tu déclares un tuple vide
    • pour ajouter les threads à ta liste, tu peux utiliser 'append'
    • enfin, il te faudra lancer les threads avec 'start()'


    Ton bout de code revu (sommairement):
    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
    import threading
     
    class maClass:
        def __init__(self):
            pass
     
        def mafunction(self):
            maliste=[]
            for i in range(3):
                maliste.append(thread1())
     
            for item in maliste:
                item.start()
     
    class thread1(threading.Thread):
     
        def run(self):
            print('ok')
     
     
    if __name__ == '__main__':
        m = maClass()
        m.mafunction()

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mars 2017
    Messages : 2
    Par défaut Affecter une liste de thread dans une liste
    This my real 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
     
     
    Class Mccc:
    	def init(self, serialno) :
    	self.serialno=serialno
     
    	def group_call(self,reception_check ,*args) :		
    		FU_reception_check=[]
    		for i in range(4):
    			thread_reception(i)=FU_reception_check(str(reception_check),args[i])
     
     
     
    Class FU_reception_check(threading.Thread):
    	def__init__self(granted_user_id, sn):
    		threading.Thread.__init__(self)
    		self.granted_user_id=granted_user_id
    		self.sn=sn
    		self.lock=lock=threading.Lock()
    		self.lock.acquire() 
     
    	def run(self):
    		receive=Mccc(self.sn)
    		self.lock.release()
    When I call my function on ROBOTFRAMEWORK like this :
    @{SN_LIST} FADZEF234R34RG gf24EF34fAZDFAE FAZEFFAEZFZ GZRRFVSERSDVSZ f2EFZFDCZE

    Robot -t Group Call azerty @{SN_LIST}

    I have this error : "failed : SyntaxError : can't assign to function call"

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 699
    Par défaut
    Citation Envoyé par please_HELP_HELP Voir le message
    I have this error : "failed : SyntaxError : can't assign to function call"
    Ben c'est simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> f(i) = 2
      File "<stdin>", line 1
    SyntaxError: can't assign to function call
    >>>
    C'est la construction qui est à la ligne 10: c'est pas du Python....

    Remarquez que la ligne 3 non plus:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >>> Class A:
      File "<stdin>", line 1
        Class A:
              ^
    SyntaxError: invalid syntax
    >>>
    Et çà serait mieux de s'adresser à l'auteur du code en question.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Par défaut
    Le message est clair:
    "failed : SyntaxError : can't assign to function call"
    On ne peut pas assigner une valeur à l'appel d'une fonction.
    C'est ce que tu fais là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    thread_reception(i)=FU_reception_check(str(reception_check),args[i])
    La syntaxe pour accéder à un élément d'une liste est le crochet '[]' pas la parenthèse '()'

Discussions similaires

  1. Réponses: 8
    Dernier message: 29/10/2016, 09h09
  2. [AC-2007] Récupérer dans une requête un libellé dans une table liste
    Par ibill dans le forum Access
    Réponses: 6
    Dernier message: 06/08/2012, 16h03
  3. [VxiR2] Ordre dans la liste des valeurs dans une invite
    Par amy0o0 dans le forum Webi
    Réponses: 1
    Dernier message: 21/04/2011, 17h59
  4. Réponses: 1
    Dernier message: 26/12/2010, 21h20
  5. Réponses: 3
    Dernier message: 06/09/2006, 09h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo