国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

利用Python實現原創工具的Logo與Help

2020-01-04 13:56:53
字體:
來源:轉載
供稿:網友

前言

當我們使用Python完成自己的原創的工具時,比如:端口掃描、弱口令爆破等。你是否想過添加自己的Logo,以及簡要的幫助信息?

如下:

Sqlmap的Logo

Python,原創工具,Logo,Help

Nmap的說明文檔

Python,原創工具,Logo,Help

本文接下來介紹Linux下的figlet工具,以及Python用于解析命令行參數和選項的標準模塊argparse。

Figlet使用

figlet是Linux下的一款工具,用于將輸入的字符串輸出為各種奇形怪狀的Logo。可用于撰寫自己的工具后,插入代表著自己原創工具的Logo標識。

安裝

sudo apt-get install figlet

目錄文件

Python,原創工具,Logo,Help

flc為控制文件,flf為字體模板文件。

常用語法

figlet AnonySec -f standard.flf

① AnonySec 為我們要生成Logo的字符串

② -f standard.flf 為選擇不同風格的模板

效果展示

Python,原創工具,Logo,Help

【注:其他使用參數,請自行查閱】

Argparse模塊使用

argparse是python用于解析命令行參數和選項的標準模塊,向原創工具中加入幫助信息,編寫可讀性非常好的程序。
大家對linux下的工具一定有印象吧,使用- -help查看幫助文檔。此模塊正是打造這樣的幫助文檔。

導入模塊

from argparse import ArgumentParser

可以直接import argparse,只不過寫代碼的時候比較麻煩。

實例化對象

parser = ArgumentParser()

實例化一個ArgumentParser類的對象

添加說明文檔

parser.add_argument("-i", dest="ip", help="Please enter the ip,for example 192.168.1.1")

上述這行代碼的add_argument()方法是向parser中添加。

① -i   輸入時緊跟此參數的一個字符串為此參數的值

② dest=“ip”   將 -i 后面的字符串賦值給 ip

③ help=“******”   此參數的說明信息

parser.add_argument("-t", dest="thread_count", type=int, default=100, help="Please enter the thread number")

① type=“int”   此參數的默認類型為int型

② default=100   當不輸入此參數時,此參數默認為100

賦值

args = parser.parse_args()

將上述添加的參數進行賦值。

完整代碼

parser = ArgumentParser()parser.add_argument("-i", dest="ip", help="Please enter the ip,for example 192.168.1.1")parser.add_argument("-t", dest="thread_count", type=int, default=100, help="Please enter the thread number")args = parser.parse_args()print 'The ip is: %s .' %args.ipprint 'The thread number is: %s .' %args.thread_count

print是用來測試是否賦值成功。若賦值成功,就可以調用args.ip與args.thread_count來使用了。

【注:其他使用參數,請自行查閱】

附:Base64-Logo

logo_code = 'ICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICAgX19fXyAgICAgICAgICAgIAogICAvIFwgICBfIF9fICAgX19fICBfIF9fICBfICAgXy8gX19ffCAgX19fICBfX18gCiAgLyBfIFwgfCAnXyBcIC8gXyBcfCAnXyBcfCB8IHwgXF9fXyBcIC8gXyBcLyBfX3wKIC8gX19fIFx8IHwgfCB8IChfKSB8IHwgfCB8IHxffCB8X19fKSB8ICBfXy8gKF9fIAovXy8gICBcX1xffCB8X3xcX19fL3xffCB8X3xcX18sIHxfX19fLyBcX19ffFxfX198CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHxfX18vCgpQb3dlcmVkIGJ5IEFub255U2VjCkJsb2cnczogaHR0cDovL3d3dy5hbm9ueXNlYy5jbg=='logo = base64.b64decode(logo_code)print logo

logo_code是事先使用base64加密過的,目的是讓Logo的嵌入不顯得那么突兀。只需要base64解密一次,就可以將它輸出至屏幕。

實例效果圖

Python,原創工具,Logo,Help

附源碼

# coding:utf-8# powered by AnonySecimport base64from argparse import ArgumentParserlogo_code = 'ICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICAgX19fXyAgICAgICAgICAgIAogICAvIFwgICBfIF9fICAgX19fICBfIF9fICBfICAgXy8gX19ffCAgX19fICBfX18gCiAgLyBfIFwgfCAnXyBcIC8gXyBcfCAnXyBcfCB8IHwgXF9fXyBcIC8gXyBcLyBfX3wKIC8gX19fIFx8IHwgfCB8IChfKSB8IHwgfCB8IHxffCB8X19fKSB8ICBfXy8gKF9fIAovXy8gICBcX1xffCB8X3xcX19fL3xffCB8X3xcX18sIHxfX19fLyBcX19ffFxfX198CiAgICAgICAgICAgICAgICAgICAgICAgICAgIHxfX18vCgpQb3dlcmVkIGJ5IEFub255U2VjCkJsb2cnczogaHR0cDovL3d3dy5hbm9ueXNlYy5jbg=='logo = base64.b64decode(logo_code)print logoprint ''parser = ArgumentParser()parser.add_argument("-i", dest="ip", help="Please enter the ip,for example 192.168.1.1")parser.add_argument("-t", dest="thread_count", type=int, default=100, help="Please enter the thread number")args = parser.parse_args()#parser.print_help()print 'The ip is: %s .' %args.ipprint 'The thread number is: %s .' %args.thread_countprint ''

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东港市| 巴里| 萍乡市| 涿州市| 兴仁县| 马鞍山市| 屏山县| 丹棱县| 得荣县| 郯城县| 龙泉市| 通河县| 福海县| 河池市| 阳高县| 邻水| 墨竹工卡县| 客服| 汾西县| 塔河县| 新兴县| 柳江县| 安阳市| 贵溪市| 廊坊市| 大厂| 海兴县| 沾益县| 双城市| 米林县| 五莲县| 邳州市| 和田市| 永德县| 卢龙县| 兖州市| 墨脱县| 梁平县| 茌平县| 闸北区| 玛纳斯县|