Mise en route avec Python: Attribute erreur
-
03-10-2019 - |
Question
Je suis nouveau python et juste téléchargé aujourd'hui. Je l'utilise pour travailler sur une toile d'araignée, afin de le tester et assurez-vous que tout fonctionnait, je téléchargé un exemple de code. Malheureusement, il ne fonctionne pas et me donne l'erreur:
"AttributeError: 'myshell' objet n'a pas d'attribut 'chargé'"
Je ne suis pas sûr si le code de son auto a une erreur ou que je ne l'a pas quelque chose correctement lors de l'installation python. Est-ce que vous avez à faire lors de l'installation python comme l'ajout de variables d'environnement, etc.? Et qu'est-ce que l'erreur généralement moyenne?
Voici l'exemple de code je avec la classe d'araignée importée:
import chilkat
spider = chilkat.CkSpider()
spider.Initialize("www.chilkatsoft.com")
spider.AddUnspidered("http://www.chilkatsoft.com/")
for i in range(0,10):
success = spider.CrawlNext()
if (success == True):
print spider.lastUrl()
else:
if (spider.get_NumUnspidered() == 0):
print "No more URLs to spider"
else:
print spider.lastErrorText()
# Sleep 1 second before spidering the next URL.
spider.SleepMs(1000)
La solution
Et qu'est-ce que l'erreur généralement dire?
Un attribut dans le python est un nom appartenant à un objet - un procédé ou une variable. Un moyen AttributeError que le programme a essayé d'utiliser un attribut d'un objet, mais l'objet n'avait pas l'attribut demandé.
Par exemple, les objets de chaîne ont l'attribut « supérieur », qui est une méthode qui renvoie la version majuscule de la chaîne. Vous pouvez écrire une méthode qui l'utilise comme ceci:
def get_upper(my_string):
return my_string.upper()
Toutefois, notez qu'il n'y a rien dans cette méthode pour faire en sorte que vous Vous pour lui donner une chaîne. Vous pouvez passer dans un objet fichier, ou un numéro. Aucun de ceux-ci ont l'attribut « supérieur » et Python déclenche une erreur d'attribut.
Quant à savoir pourquoi vous voyez dans ce cas, vous n'avez pas fourni suffisamment de détails pour nous de travailler dehors. Ajouter le message d'erreur complet à votre question.
Autres conseils
1) code Mettre en bloc try ... except. obtenir des détails d'exception.
2) Pouvez-vous dire StackTrace détails moyens ligne erreur renvoyée # et la méthode
Et vous êtes également en mesure d'exécuter d'autres scripts python simple, sans aucune erreur. Les moyens essaient simplement d'exécuter un script exemple etc.