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