python中“argparse.ArgumentParser”出错

时间:2014-12-21 15:03:14

标签: python

这给出了一个奇怪的错误:

if __name__ == "__main__":
    import argparse
    import json

    from evaluation import cross_validation
    from predictor import PhraseSentimentPredictor

    parser = argparse.ArgumentParser(description=__doc__)
    parser.add_argument("filename")
    config = parser.parse_args()
    config = json.load(open(config.filename))

错误:

**usage: generate_kaggle_submission.py [-h] filename
    generate_kaggle_submission.py: error: too few arguments**

请帮忙

1 个答案:

答案 0 :(得分:2)

确保使用filename参数调用python程序。


如果您想使filename参数可选,请使用nargs?指定*

parser.add_argument("filename", nargs='?')
# OR with default
parser.add_argument("filename", nargs='?', default='default_filename')

有关其他可用选项,请参阅nargs - argparse - Python documentation