首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当只有一个参数时,Python抛出多个参数错误

当只有一个参数时,Python抛出多个参数错误
EN

Stack Overflow用户
提问于 2020-02-09 11:59:31
回答 1查看 32关注 0票数 1

我正在调用另一个类中的方法,并且得到以下错误。这是声明和定义方法的类:

代码语言:javascript
复制
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

下面是调用它的类:

代码语言:javascript
复制
from web import Web
from crawler import WebCrawler

web = Web()
crawler = WebCrawler()
urls = crawler.crawl(web)

print(urls)

但错误是:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-09 12:06:44

实例方法作为第一个参数(self)隐式传递给实例。这意味着crawler.crawl(web)变成了WebCrawler.crawl(crawler, web)

我不确定如何修复它,因为我不熟悉这些模块,但我猜crawl应该接受一个参数,因为WebCrawler没有root方法:

代码语言:javascript
复制
def crawl(self, arg):
    root = arg.root()
    ...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60133328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档