我正在将旧的关键字扫描器从 Python2 重写为 Python3,并且在处理最终 main((-函数中的多个返回参数时遇到问题。
def scanner_pref():
dork = input('Dork: ')
number = input('Number of sites: ')
return dork, number
所以,我需要将 dork 和数字返回到下一个函数
def scanner(dork, number):
url = "http://www.google.de/search"
payload = {'q': dork, 'start':'0', 'num': int(number) *10}
[..]
因此,扫描仪可以继续使用给定的有效载荷参数。
但是当我尝试编写main((函数时,它无法处理scanner函数,因为它突然需要数字参数。 见下文
def main():
pref = scanner_pref()
scan = scanner(pref) <--
parser(h3tag=scan)
我真的不明白为什么 scan = scanner(pref, ?( 在从上面的 scanner(pref( 接收信息时需要数字参数,并且并不真正关心 dork 参数。
如果我从scanner_pref((中删除"数字",将其移回scanner(..(,它工作正常,并且不会出现错误或警告消息。
def scanner_pref():
dork = input('Dork: ')
return dork
#
def scanner(dork, number):
url = "http://www.google.de/search"
number = ("Number of sites: ")
payload = {'q': dork, 'start':'0', 'num': int(number) *10}
#
def main():
pref = scanner_pref()
scan = scanner(pref)
parser(h3tag=scan)
工作正常,没有问题
scanner(dork, number)
接受两个参数。
调用pref = scanner_pref()
时,dork
和number
的值将作为元组存储在perf
中。当您将pref
传递给scanner
时,您仍然只传递一个参数,即具有两个值的元组。
您有两个简单的选择
pref_dork, pref_number = scanner_pref()
scan = scanner(pref_dork, pref_number)
或
pref = scanner_pref()
scan = scanner(pref[0],perf[1])