0

因为我在 windows 上运行了 python,所以这是我在 argparse 中遇到的下一个问题,我没有看到解决方案。我以前使用过 optparse。这是我的代码:

import argparse
parser = argparse.ArgumentParser(
        description = 'Test description')       # main description for help

parser.add_argument('-d', '--dir',                 # -u or --user option           
        dest = "dir",
        help = 'directory to start with')           
args = parser.parse_args()
print(args.dir)

但是当我运行这段代码时

code.py -d test
code.py --dir test

我总是得到一个None作为输出。我觉得这是一件微不足道的事情,而且我忽略了一些明显的事情,但我看不到它。

坦克

亚历克斯

4

1 回答 1

2

该问题似乎是由Windows引起的,以及如何尝试在命令行上执行代码。在给定的示例中,测试脚本是直接在命令行上调用的,而不是python在代码之前,如this answer中所建议的那样

如果代码执行如下

python code.py

看到了预期的行为,并且在代码中正确解析了参数。

所以要么是windows系统的设置不完整,要么是上面链接中的建议不完整。

于 2012-09-14T09:41:43.157 回答