2

私はPythonが初めてで、今日ダウンロードしたばかりです。私はこれを使用して Web スパイダーを操作しているので、テストしてすべてが機能していることを確認するために、サンプル コードをダウンロードしました。残念ながら、それは機能せず、次のエラーが表示されます。

"AttributeError: 'MyShell' オブジェクトには 'loaded' 属性がありません"

コード自体にエラーがあるのか​​ 、Pythonのインストール時に何かを正しく実行できなかったのかわかりません。環境変数の追加など、python をインストールするときに何かしなければならないことはありますか? そして、そのエラーは一般的に何を意味するのでしょうか?

インポートされたスパイダー クラスで使用したサンプル コードを次に示します。

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)
4

2 に答える 2

6

そして、そのエラーは一般的に何を意味するのでしょうか?

Python の属性は、オブジェクト (メソッドまたは変数) に属する名前です。AttributeError は、プログラムがオブジェクトの属性を使用しようとしたが、オブジェクトに要求された属性がなかったことを意味します。

たとえば、文字列オブジェクトには 'upper' 属性があり、これは文字列の大文字バージョンを返すメソッドです。これを使用するメソッドを次のように記述できます。

def get_upper(my_string):
  return my_string.upper()

ただし、そのメソッドには、文字列を指定する必要があることを保証するものは何もないことに注意してください。ファイル オブジェクトまたは数値を渡すことができます。どちらも 'upper' 属性を持たず、Python は属性エラーを発生させます。

この例であなたがそれを見ている理由については、私たちがそれを解決するのに十分な詳細を提供していません. 質問に完全なエラー メッセージを追加します。

于 2010-05-04T20:00:34.573 に答える
-1

1) コードを Try ... Except ブロックに入れます。例外の詳細を取得します。

2) StackTrace の詳細がどの行番号とメソッドがエラーをスローしたかを教えてください。

また、エラーなしで他の単純な python スクリプトを実行できますか。サンプルスクリプトなどを実行してみてください。

于 2010-05-04T18:32:37.933 に答える