Files
Meppo/Config/config_decorators.py
RabbitMask 0959340ee8 update v2.1
2022-04-15 11:16:07 +08:00

71 lines
2.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
# _*_ coding:utf-8 _*_
'''
____ _ _ _ _ __ __ _
| _ \ __ _| |__ | |__ (_) |_| \/ | __ _ ___| | __
| |_) / _` | '_ \| '_ \| | __| |\/| |/ _` / __| |/ /
| _ < (_| | |_) | |_) | | |_| | | | (_| \__ \ <
|_| \_\__,_|_.__/|_.__/|_|\__|_| |_|\__,_|___/_|\_\
'''
import datetime
import csv
#列表打印装饰器
from Config.config_print import status_print
def Print_info(fun):
def work(*args,**kwargs):
res=fun(*args, **kwargs)
if res:
if isinstance(res, str):
print(res)
elif isinstance(res, list):
for i in res:
print(i.replace('\n',''))
else:
pass
return fun(*args, **kwargs)
return work
# 结果导出装饰器
# 保存文件类型为.rabbit因为我不希望这个结果被记事本草率地打开
# 因为可能会乱,/哭唧唧推荐notepad++、SublimeText、VScode等。
def Save_info(fun):
def work(*args,**kwargs):
result=(fun(*args, **kwargs))
if result:
timetoken = datetime.datetime.now().strftime('%Y%m%d%H%M%S');
filename='Output/{}_result_{}.rabbit'.format(fun.__name__,timetoken)
for i in result:
try:
fw = open(filename, 'a')
fw.write(i.replace('\n','') + '\n')
fw.close()
except:
pass
status_print('结果已保存至:'+filename,1)
# return fun(*args, **kwargs)
return work
def Save_Csv(fun):
def work(*args,**kwargs):
result=(fun(*args, **kwargs))
if result:
timetoken = datetime.datetime.now().strftime('%Y%m%d%H%M%S');
filename='Output/{}_result_{}.csv'.format(fun.__name__,timetoken)
with open(filename, 'a',encoding='utf-8',newline='') as f:
head = ['host','ip','port','country','city','server','title']
writer = csv.writer(f)
# 写入一行数据
writer.writerow(head)
# 写入多行数据
for i in result:
writer.writerow(list(i.values()))
status_print('全部结果已保存至:'+filename,1)
# return fun(*args, **kwargs)
return work