gpt4 book ai didi

python - 只有一个必需参数的方法出现参数过多错误

转载 作者:太空宇宙 更新时间:2023-11-03 21:23:08 25 4
gpt4 key购买 nike

当我尝试向音乐加载器提供所选音乐文件时,发生错误:

代码:

import essentia
import essentia.standard
import os


file = os.listdir()
i = 0

number = len(file)
print("Number:", number)

while i<number:
if file[i].endswith(".mp3"):
print(file[i])

filename = file[i]

loader = essentia.standard.MonoLoader(file[i]) #<--ERROR

audio = loader()

#...

错误:

__init__() takes 1 positional argument but 2 were given

我搜索了一下,发现不仅传递了文件名,还传递了“self-argument(list-object named file)”。我做对了吗?现在的问题是:如何在没有 self 参数的情况下传递此列表的元素?

最佳答案

快速浏览一下essentia docs for the MonoLoader method ,看起来它需要多个参数,并且 filename 不是第一个参数(除了文件名之外,所有其他参数都是可选的)。因此,您需要指定要传递 filename 参数。例如:

loader = essentia.standard.MonoLoader(filename=file[i])

此外,如果您的示例代码并未真正指示 mp3 文件所在的位置,请务必将完整文件路径传递给 MonoLoader,而不仅仅是文件名。

最后,我假设您只是在问题中显示了 while 循环的一部分,并且实际上您在某处递增了 i ,以便它不会永远运行.

关于python - 只有一个必需参数的方法出现参数过多错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54075427/

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