2014-02-12 79 views
0

你们中的一些人可能知道这个脚本,它叫做hash-identifier。运行时,会提示用户输入散列。我想通过哈希作为命令行参数,以便脚本可以这样执行:解析命令行参数

hash-identifier d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f 

我发现我需要导入sys和getopt的,但我之前,所以任何建议,从来没有使用过蟒蛇有帮助。

回答

0

好的,在我导入sys之后,我需要做的唯一事情就是将sys.argv传递给正在打印的变量。示例:

variable = sys.argv 
print variable 
0

您可以使用sys.argv[0]获取脚本的第一个命令行参数。如果你想要更多的选择,或者argparse模块。

2

的首选方法是使用argparse:

#!/usr/bin/env python 
import argparse 

if __name__ == "__main__": 
    parser = argparse.ArgumentParser(description="Does something with a hash"); 
    parser.add_argument("hash", metavar="HASH", help="the hash to do things with?"); 

    args = parser.parse_args(); 

    hash = args.hash; 

    # Use the hash... 
    print(hash); 

但使用argparse可能是您的需求有点矫枉过正,可能会更容易为你做到这一点:

#!/usr/bin/env python 

import sys 

if __name__ == "__main__": 
    if len(sys.argv) != 2: # first is program name, second is argument 
     print("USAGE: %s HASH"%(sys.argv[0],)); 
     sys.exit(); 
    hash = sys.argv[1]; 

    # Use the hash... 
    print(hash);