你們中的一些人可能知道這個腳本,它叫做hash-identifier。運行時,會提示用戶輸入散列。我想通過哈希作爲命令行參數,以便腳本可以這樣執行:解析命令行參數
hash-identifier d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f
我發現我需要導入sys和getopt的,但我之前,所以任何建議,從來沒有使用過蟒蛇有幫助。
你們中的一些人可能知道這個腳本,它叫做hash-identifier。運行時,會提示用戶輸入散列。我想通過哈希作爲命令行參數,以便腳本可以這樣執行:解析命令行參數
hash-identifier d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f
我發現我需要導入sys和getopt的,但我之前,所以任何建議,從來沒有使用過蟒蛇有幫助。
好的,在我導入sys之後,我需要做的唯一事情就是將sys.argv傳遞給正在打印的變量。示例:
variable = sys.argv
print variable
您可以使用sys.argv[0]
獲取腳本的第一個命令行參數。如果你想要更多的選擇,或者argparse
模塊。
的首選方法是使用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);