J'ai 2 classes python dans deux fichiers.rendement en retour Aucun en python?
- fichier
: LdapConnection, classe: LdapClass(), méthode: getMachines (auto)
@defer.inlineCallbacks def getMachines(self): c = ldapconnector.LDAPClientCreator(reactor, ldapclient.LDAPClient) overrides = {self.basedn: (self.serverip, 389)} client = yield c.connect(self.basedn, overrides=overrides) yield client.bind(self.binddn, self.bindpw) o = ldapsyntax.LDAPEntry(client, self.basedn) results = yield o.search(filterText=self.query) for entry in results: for i in entry.get('name'): self.machineList.append(i) yield self.machineList print self.machineList return
ci-dessus les instructions d'impression imprimer tous entires dans le machineList
- fichier
: Twisted, classe: Caching, méthode: loadSettings (auto-)
@defer.inlineCallbacks def loadSettings(self): returned = yield LdapClass().getMachines() print returned
dans la classe au-dessus de mes impressions d'impression None
. Qu'est-ce que je fais mal ici?
J'ai essayé de formater votre code mais il est vraiment cassé avant. Donc, je ne suis pas sûr que j'ai raison. Vérifiez s'il vous plaît. – Sraw
Copie possible de [Quel est le résultat d'une expression de rendement en Python?] (Https://stackoverflow.com/questions/10695456/what-is-the-result-of-a-yield-expression-in-python) – Aaron
Pouvez-vous réduire votre exemple à [Exemple minimal, complet et vérifiable] (https://stackoverflow.com/help/mcve)? Il est difficile d'obtenir la sortie exacte que vous voyez. Votre utilisation du rendement est curieuse en effet. La combinaison de 'yield' et de' return' semble suspecte, de même que le retour de valeurs obtenues à partir de fonctions et de listes plutôt que d'éléments individuels. Je m'attendrais à des rendements en boucle ou 'rendement de' même si je me rends compte que vous utilisez py2 qui n'a pas de «rendement de». –