我正在尝试使用用户的args运行代码:
parser = argparse.ArgumentParser()
args = parser.parse_args()
parser = argparse.ArgumentParser(description='Script for running daily batch jobs for T3000 Project')
parser.add_argument("from_date", help='date in string yyyy-mm-dd', default='2017-10-1')
parser.add_argument("to_date", help='date in string yyyy-mm-dd', default='2017-12-31')
args = parser.parse_args()
main(
from_date=args.from_date,
to_date=args.to_date
)
在传递参数时,我遵循Pycharm中的路径:Run->Edit Configurations->Script Parameters: "2017-10-31" "2017-11-1"
我收到错误:
driver.py: error: unrecognized arguments: 2017-10-31 2017-11-1
Process finished with exit code 2
我见过link,这似乎与我的问题类似,但鉴于解决方案对我不起作用。我想我错过了一些东西。帮助将不胜感激。
答案 0 :(得分:1)
你的第一个参数解析器:
parser = argparse.ArgumentParser()
args = parser.parse_args()
期待没有争论,但你已经过了两次。这就是投诉的来源。解决方案就是删除这两行 - 我不知道你为什么要把它们放在那里。
答案 1 :(得分:1)
我不明白@lxop的评论,我有同样的错误,但是我需要这两行。除了变量之外,我的代码与原始问题中使用的代码相同。
对我来说,解决方案是按照以下方式在Pycharm中设置我的参数,该参数周围的引号是可选的。 -o丢失时出现错误。
-o filename.csv
我的argparse设置行是
parser.add_argument("-o", "--outfile",
help="Enter the name of a .csv file to contain output or default of radarOutTemp.csv will be used",
default="radarOutTemp.csv")