同じリストに書き込む必要がある2つのメソッドがあります。Pythonでグローバルリストを定義する方法
class MySpider():
def parse_post(self, response):
commentList = []
...
commentList.append(someData)
def parse_comments(self, response):
commentList = []
...
commentList.append(someData)
このコードには、2つのcommentListリストがありますが、データを追加できる単一のリストが必要です。このクラスのどのメソッドでもこのリストにアクセスしたいです。私は試しました
class MySpider():
commentNum = []
def parse_post(self, response):
...
commentList.append(someData)
def parse_comments(self, response):
...
commentList.append(someData)
しかし、これは私にエラーglobal name commentList is not defined
を与えます。そのクラスのすべてのメソッドでアクセスできる単一のリストを持つ方法はありますか?
class MySpider(object):
commentList = []
def parse_post(self, response):
...
MySpider.commentList.append(someData)
def parse_comments(self, response):
...
MySpider.commentList.append(someData)
MySpider
のすべてのインスタンスが同じ変数共有することになります。この方法:
あなたはテキスト内に「配列」と言っていますが、あなたのコードは正しいです。それはリストです。私はそれを修正しました。 –
用語:「グローバル」はモジュールレベルの変数を指します。 –