Python TypeError:generate#u input()缺少1个必需的位置参数:';n';
我想制作基于Python的fuzzer。所以我运行了一个简单的例子,我得到了一个错误 我正在执行下面链接上的代码。 在我看来,这不是重新申报班级的问题。当前发布在stackoverflow上的问题没有帮助。请帮帮我 代码如下:Python TypeError:generate#u input()缺少1个必需的位置参数:';n';,python,python-3.x,Python,Python 3.x,我想制作基于Python的fuzzer。所以我运行了一个简单的例子,我得到了一个错误 我正在执行下面链接上的代码。 在我看来,这不是重新申报班级的问题。当前发布在stackoverflow上的问题没有帮助。请帮帮我 代码如下: import sys from mph.program import Program from fuzzbang.alphanumericfuzzer import AlphaNumericFuzzer def generate_input(n): """
import sys
from mph.program import Program
from fuzzbang.alphanumericfuzzer import AlphaNumericFuzzer
def generate_input(n):
"""
Returns an alphanumeric string with a length no greater than n.
"""
fuzzer = AlphaNumericFuzzer(0, n)
return fuzzer.generate()
if __name__ == '__main__':
# usage
if len(sys.argv) != 3:
print("usage: python3 fuzztut.py num_cases max_length")
exit(1)
# command-line arguments
num_cases = int(sys.argv[1]) # number of test cases to run
max_length = int(sys.argv[2]) # maximum length of each string
results = [] # list for storing the result of each test
# main loop
for i in range(num_cases):
input = generate_input() # generate input string
return_value = run(input) # run name with our input
# save test results to our global results list
test_result = {}
test_result["num"] = i
test_result["input"] = input
test_result["output"] = return_value
results.append(test_result)
# print summary
for test in results:
print("Case #{:d}:".format(test["num"]))
print(" IN: " + test["input"])
print(" OUT: {:4d}".format(test["output"]))
print("\n")
类(包括另一个文件)
结果:
$ python3 fuzztut.py 10 32
Traceback (most recent call last):
File "fuzztut.py", line 40, in <module>
input = generate_input() # generate input string
TypeError: generate_input() missing 1 required positional argument: 'n'
$python3 fuzztut.py 10 32
回溯(最近一次呼叫最后一次):
文件“fuzztut.py”,第40行,在
输入=生成输入()#生成输入字符串
TypeError:generate_input()缺少1个必需的位置参数:“n”
在代码中有行
# main loop
for i in range(num_cases):
input = generate_input() # generate input string
...
根据函数generate_input()
的定义,您需要提供一个参数n
:
因此,您的代码必须如下所示,为函数调用提供数字或变量:
input = generate_input(10)
正如错误所说,该函数需要将n传递给它,而您没有传递任何东西。
def generate_input(n):
"""
Returns an alphanumeric string with a length no greater than n.
"""
...
input = generate_input(10)