Python Argparse“需要以下参数”错误

时间:2018-08-03 18:50:57

标签: python pycharm argparse

我正在尝试使用github存储库,并且项目的argparse部分存在一些问题。回购开始像这样:

import markdown, sys, csv, getpass, smtplib, argparse
from email.mime.text import MIMEText
from jinja2 import Template


parser = argparse.ArgumentParser()
parser.add_argument('-m', '--markdown', help='Path to Markdown Template', required=True)
parser.add_argument('-c', '--csv', help='Path to CSV file', required=True)
parser.add_argument('-v', '--verbose', help='Write out emails')
args = parser.parse_args() 

我已经输入了markdown和CSV文件的相对路径和绝对路径...,然后得到此错误:

usage: mass-email.py [-h] -m MARKDOWN -c CSV
mass-email.py: error: the following arguments are required: -m/--markdown, -c/--csv

Process finished with exit code 2

我找不到与此有关的任何具体帮助。任何建议将不胜感激。

2 个答案:

答案 0 :(得分:1)

使用mass-email.py -m /path/to/my/file -c /path/to/csv

调用脚本

您的参数由其标志定义。如果您希望论据具有定位性,请不要在其前面加上破折号。

parser.add_argument('markdown', help='Path to Markdown Template', required=True)
parser.add_argument('csv', help='Path to CSV file', required=True)

答案 1 :(得分:0)

似乎您可以在IDE中运行它而不提供任何命令行参数。我看到您使用的是pycharm,所以请查看这篇关于将命令行参数传递给pycharm运行的文章:

Pycharm and sys.argv arguments

希望这会有所帮助!