Я переписываю старый сканер ключевых слов с Python2 на Python3, и у меня возникли проблемы с обработкой более одного возвращаемого параметра в моей последней функции main ().
def scanner_pref():
dork = input('Dork: ')
number = input('Number of sites: ')
return dork, number
Итак, мне нужно вернуть дорк и номер следующей функции
def scanner(dork, number):
url = "http://www.google.de/search"
payload = {'q': dork, 'start':'0', 'num': int(number) *10}
[..]
поэтому сканер может продолжить работу с заданными параметрами полезной нагрузки.
Но когда я пытаюсь написать функцию main (), она не может обрабатывать функцию сканера, потому что ей неожиданно требуется параметр чисел. см. ниже
def main():
pref = scanner_pref()
scan = scanner(pref) <--
parser(h3tag=scan)
Я действительно не понимаю, почему scan = scanner (pref,?) Требует параметра number, когда он получает информацию от сканера (pref) выше, и на самом деле не заботится о параметре dork.
Если я удалю "номер" из scanner_pref (), верну его в сканер (..), он будет работать нормально, и никаких сообщений об ошибках или предупреждений не появится.
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)
работает нормально и без проблем
@Jordan извините за поздний ответ, но спасибо за вашу помощь, все сработало отлично.
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])
Вы можете отформатировать основную функцию следующим образом:
pref, number = scanner_pref()
, тогда вы можете вызвать свой метод сканера с этими двумя переменными