optparse是乙個功能強大的處理命令列函式。
首先匯入模組,建立opertionparser物件
import optparse
parser=optparse.optionparser()
然後用add_options()來定義命令列引數
parser.add_options('-f',dest='dname')
*當你定義完命令列引數之後,就可以使用parse_args()來解析命令列了
(options,args)=parser.parse_args()
注: 你也可以傳遞乙個命令列引數列表到 parse_args();否則,預設使用 sys.argv[1:]。
parse_args() 返回的兩個值:
options,它是乙個物件(optpars.values),儲存有命令列引數值。只要知道命令列引數名,如 file,就可以訪問其對應的值: options.file 。
args:它是乙個由 positional arguments 組成的列表。
import zipfile #匯入對zip檔案的處理模組
from threading import thread #當如執行緒模組
import optparse #匯入命令列處理模組
defextractzipfile
(zipfile1,password):
#這裡為了方便定義了乙個zip解密函式
zfile=zipfile.zipfile(zipfile1) #zipfile1接收你要破解的zip檔名,並定義乙個zfile物件
try: #這裡使用了異常處理機制
zfile.extractall(pwd=password.encode())#當密碼正確時,就會自動解壓
print( password) #這裡會輸出暴力破解得到的密碼
except:
pass
defmain
(): parser=optparse.optionparser('usage: %prog'+'-f -d ')#幫助提示資訊
parser.add_option('-f',dest='zname')#定義了-f和-d選項來接收zip檔案和字典檔案
parser.add_option('-d',dest='dname')
(options,args)=parser.parse_args()#解析命令列
if (options.zname==none) | (options.dname==none):
print(parser.usage)#輸出幫助提示資訊
exit(0)
else:
zname=options.zname
dname=options.dname
with open(dname,'r') as f:
for i in f:
pawwwd=i.strip()#這裡我比較疑惑,網上都說要使用strip('\n或\n\r'),我試了,都沒法輸出正確密碼,而什麼都沒加的話,卻成功了,不知道怎麼回事 哎~
## p=extractzipfile('mima.zip',pawwwd)
t=thread(target=extractzipfile,args=(zname,pawwwd))#這裡通過執行緒提高效率
t.start()
if __name__=='__main__':
main()
作為乙個剛入門python的小白,可能有很多不足的地方,希望各位大神指正。 用python寫爬蟲簡單嗎
所謂網路爬蟲,通俗的講,就是通過向我們需要的url發出http請求,獲取該url對應的http報文主體內容,之後提取該報文主體中我們所需要的資訊。下面是乙個簡單的爬蟲程式 http基本知識 當我們通過瀏覽器訪問指定的url時,需要遵守http協議。本節將介紹一些關於http的基礎知識。http基本流...
用Python寫乙個zip檔案的密碼破解程式
最近在讀 python絕技 運用python成為頂級黑客 一書,文中有如何運用python中zipfile自帶的方法破解zip檔案。短短的十幾行 就將乙個程式實現了。下面給出書中所用的 1 coding utf 8 2import zipfile 3import threading45 def ex...
linux下用python寫簡單的爬蟲程式
簡述下這個爬蟲程式的基本原理 geturl.py coding utf 8 import urllib defgethtml url page urllib.urlopen url html page.read return html html gethtml print html 新建乙個getu...