我正在创建我的第一个python工具,如果你想调用它。 (我在IT安全部门工作,顺便说一句)
在我尝试从main函数调用函数之前,它一直很顺利。我确信这很简单,我不知道:(。有人能指出我正确的方向吗?然后随意指出并笑。
#!/usr/bin/python
import sys, getopt, socket
def usage():
print "-h --help: help\n"
print "-f --file: File to read bruteforce domain list from.\n"
print "-p --proxy: Proxy address and port. e.g http://192.168.1.64:8080\n"
print "-d --domain: Domain to bruteforce.\n"
print "-e: Turn debug on.\n"
sys.exit()
def main(argv):
file = None
proxy = None
domain = None
try:
opts, argv =getopt.getopt(argv, "h:f:p:d:e",["help", "file=", "proxy=", "domain="])
except getopt.GetoptError as err:
print str(err)
usage()
sys.exit(2)
for opt, arg in opts:
if opt in ("-h", "--help"):
usage()
sys.exit()
elif opt in ("-f", "--file"):
file = arg
elif opt in ("-p", "--proxy"):
proxy = arg
elif opt in ("-d", "--domain"):
domain = arg
elif opt in '-e':
global _debug
_debug = 1
else:
assert Flase, "Unhandled option"
print fread.flist
def fread(file, *args):
flist = open(file).readlines()
return
if __name__ == "__main__":
main(sys.argv[1:])
答案 0 :(得分:0)
问题在于您的陈述print fread.flist
。您无法以这种方式访问在函数内分配的变量。而是将fread()
功能更改为以下内容:
def fread(file, *args):
flist = open(file).readlines()
return flist
并将上述语句更改为
print fread(file)
其中file
是您要访问的文件。