【发布时间】:2016-07-29 12:52:47
【问题描述】:
我有一个像这样的简单脚本(基于the docs for argparse):
def Main():
parser = argparse.ArgumentParser()
parser.add_argument("issuenumber", help="Create a local branch based on the specified issue number", type=int)
args = parser.parse_args()
if args.issuenumber:
print("Starting work on issue #"+str(args.issuenumber))
if __name__ == "__main__":
Main()
但是,当我运行它时,它永远不会识别我传递给它的参数:
C:\Projects\PyTools>Gritter.py 1
usage: Gritter.py [-h] issuenumber
Gritter.py: error: the following arguments are required: issuenumber
如果我通过 python 调用脚本,它可以工作:
C:\Projects\PyTools>python Gritter.py 1
Starting work on issue #1
如果我打印出sys.argv,我会得到:
C:\Projects\PyTools>Gritter 1
['C:\\Projects\\PyTools\\Gritter.py']
C:\Projects\PyTools>Python Gritter.py 1
['Gritter.py', '1']
所以我猜当直接调用脚本时有些东西没有传递参数。不知道有没有什么办法可以直接调用脚本?
【问题讨论】:
-
它本身看起来像这个的副本:stackoverflow.com/questions/2640971/…
标签: windows python-3.4 argparse