0
你好進出口新的蟒蛇,並已閱讀文檔過去,因與argparse澄清在Python 3.2 argparse請
這裏麻煩的是我試圖它onsimple解釋一個頭腦簡單的人代碼,請 感謝提前
#!/usr/bin/env python
import argparse
from string import ascii_lowercase
from string import ascii_uppercase
from string import digits
from string import punctuation
def options():
parser = argparse.ArgumentParser(description="Create a list of characters")
parser.add_argument('-c:')
if (args.c):# == "-c:":
if "-c" + ":" + "caps":
charset = ascii_uppercase
elif "-c:" + "small":
charset = ascii_lowercase
elif "-c:" + "digits":
charset = digits
elif "-c:" + "punc":
charset = punctuation + " "
elif "-c:" + "space":
charset = " "
elif "-c:" + "all":
charset = ascii_lowercase + ascii_uppercase + digits + punctuation + space
else:
print("when using -c you must include an option! (caps, small, digits, punc, space, all)")
def filename():
filename = open('C:\\Users\\MSec\\Desktop\\WordLists\\'+sys.argv[1], 'w')
return
if __name__ == "__main__":
filename()
options()
再次即時通訊新didnt相當瞭解的文檔
我猜,而IM它是有一個更好的(或更Python)的方式來編寫所有的選項,而不是很多的elif STA tements?
謝謝大家
感謝有道理但是現在它返回沒有定義的全局名稱ARGS但如果它被用在def選項中,使它成爲一個局部變量是可以接受的。 – 2012-03-23 21:49:52
@learn_What:不,它不會返回「現在」。你的例子也是這樣做的,我假設你在複製時發生錯誤。你的例子忘記了實際調用parser.parse()。你需要做的就是停止寫很多不起作用的代碼,然後試着讓它工作。而是一次只寫一點代碼,然後讓這些代碼工作,然後對其進行擴展。所以在這一點上,你應該重新開始,並且一次寫入一行,兩行或三行代碼,並確保這些行能夠正常工作,然後再逐行添加更多的行。然後問你有問題的問題。 – 2012-03-24 09:03:41