代码之家  ›  专栏  ›  技术社区  ›  cc88

在Python中将数据作为字符串传递给argparse:无法识别的参数

  •  -1
  • cc88  · 技术社区  · 4 年前

    def parsing(parser):
        parser.add_argument("--b", type=str)
        parser.add_argument("--e", type=str)
        return parser
    
    parser = argparse.ArgumentParser()
    parser = parsing(parser)
    args = parser.parse_args()
    

    我试着用:

    python file.py –-b 20100101 –-e 20200120
    

    但我得到了一个“无法识别的参数”错误。我也试过移除 type=str

    C:\Users\user\miniconda3\lib\site-packages\numpy_distributor_init.py:30: UserWarning: loaded more than 1 DLL from .libs: 
    C:\Users\user\miniconda3\lib\site-packages\numpy\.libs\libopenblas.PYQHXLVVQ7VESDPUVUADXEVJOBGHJPAY.gfortran-win_amd64.dll 
    
    C:\Users\user\miniconda3\lib\site-packages\numpy\.libs\libopenblas.WCDJNK7YVMPZQ2ME2ZZHJJRJ3JIKNDB7.gfortran-win_amd64.dll warnings.warn("loaded more than 1 DLL from .libs:" usage: file.py [-h] [--b B] [--e E] file.py: error: unrecognized arguments: –-b 20100101 –-e 20200120
    
    1 回复  |  直到 4 年前
        1
  •  3
  •   soumith    4 年前

    错误在这行。

    python file.py –-b 20100101 –-e 20200120
    

    其中一个“-”是另一个字符。

    python file.py --b 20100101 --e 20200120