script.py 文件中的以下代码可以(在 chmod 755 script.py 之后)script.py 执行此操作 或到 script.py dothat。
import sys
def dothis():
print "We're doing this."
def dothat():
print "We're doing that."
if __name__ == "__main__":
if len(sys.argv) != 2:
print "Error: You must specify exactly one function: dothis or dothat"
sys.exit(1)
if sys.argv[1] == "dothis":
dothis()
elif sys.argv[1] == "dothat":
dothat()
else:
print "I don't know how to "+sys.argv[1]
这是从命令行调用两个函数之一的最优雅的方法吗?
请您参考如下方法:
import argparse as ap
def dothis():
print "We're doing this."
def dothat():
print "We're doing that."
if __name__ == "__main__":
parser = ap.ArgumentParser()
parser.add_argument('thing', choices=['dothis', 'dothat'])
args = parser.parse_args()
f = locals()[args.thing]
f()
