gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 06:26:10 25 4
gpt4 key购买 nike

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

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

最佳答案

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

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

def crawl(self, arg):
root = arg.root()
...

关于当只有一个参数时,Python 会抛出多个参数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60133328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com