我正在调用另一个类中的方法,并且得到以下错误。这是声明和定义方法的类:
from web import Web
import ast
class WebCrawler:
web = Web()
def crawl(self):
root = self.root()
URL = ast.literal_eval(self.get(root))
return URL下面是调用它的类:
from web import Web
from crawler import WebCrawler
web = Web()
crawler = WebCrawler()
urls = crawler.crawl(web)
print(urls)但错误是:
Traceback (most recent call last):
File "/home/onur/Desktop/web-crawler/test-run.py", line 6, in <module>
urls = crawler.crawl(web)
TypeError: crawl() takes 1 positional argument but 2 were given发布于 2020-02-09 12:06:44
实例方法作为第一个参数(self)隐式传递给实例。这意味着crawler.crawl(web)变成了WebCrawler.crawl(crawler, web)。
我不确定如何修复它,因为我不熟悉这些模块,但我猜crawl应该接受一个参数,因为WebCrawler没有root方法:
def crawl(self, arg):
root = arg.root()
...https://stackoverflow.com/questions/60133328
复制相似问题