我按照书上的方法编程序时,报错了,不管是什么编辑器都报错
代码:
import argparse
import socket
import shlex
import subprocess
import sys
import textwrap
import threading
def execute(cmd):
cmd=cmd.strip()
if not cmd:
return
output=subprocess.check_output(shlex.split(cmd))
return output.decode()
if __name__=='__main__':
parser=argparse.ArgumentParser(
description='BHP Net Tool',
formatter_class=argparse.RawDescriptionHelpFormatter,
epolog=textwrap.dedent('''Example:
111.py -t 0.0.0.0 -p 5555 -l -c # command shell
111.py -t 0.0.0.0 -p 5555 -l -u=mytest.txt # upload to file
111.py -t 0.0.0.0 -p 5555 -l -e=\"cat/etc/passwd\" # execute command
echo 'ABC' | ./111.py -t 0.0.0.0 -p 135 # echo text to sever port 135
111.py -t 0.0.0.0 -p 5555 # connect to sever
'''))
parser.add_argument('-c','--command',action='store_true',help='command shell')
parser.add_argument('-e','--execute',help='execute specified command')
parser.add_argument('-l','--listen',action='store_true',help='listen')
parser.add_argument('-p','--port',type=int,default=5555,help='specified port')
parser.add_argument('-t','--target',default='0.0.0.0',help='specified IP')
parser.add_argument('-u','--upload',help='load file')
args=parser.parse_args()
if args.listen:
buffer=''
else:
buffer=sys.stdin.read()
nc=NetCat(args,buffer.encode())
nc.run()
报错:
Traceback (most recent call last):
File "C:/Users/Administrator/Desktop/111.py", line 27, in <module>
'''))
TypeError: __init__() got an unexpected keyword argument 'epolog'
请大家帮忙解决一下,万分感谢!!