![](/img/trans.png)
[英]Why doesn't `if` work in Python Turtle , it seems to me I wrote everything correctly
[英]Why doesn't argparse work and send invalid option error message even if i wrote correctly?
當我正確使用argparse時,選項字符串錯誤無效(來自python教育網站的示例文件)。
我嘗試更改輸入和輸出文件的路徑以及路徑中的\\-> /或\\之類的符號
原始代碼是
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--input", required=True,
help="path to input image")
ap.add_argument("-o", "--output", required=True,
help="path to output image")
args = vars(ap.parse_args())
我更改了參數--input和--output->輸入和輸出文件的路徑。
ap = argparse.ArgumentParser()
ap.add_argument("-i", "C:\input_01.png", required=True,
help="path to input image")
ap.add_argument("-o", "C:\output_011.png", required=True,
help="path to output image")
args = vars(ap.parse_args())
我得到了這個錯誤信息。
Traceback (most recent call last):
File "C:/Users/command-line-arguments/shape_counter.py", line 13, in
<module>
help="path to input image")
File "C:\Users\huryo\Anaconda3\lib\argparse.py", line 1339, in add_argument
kwargs = self._get_optional_kwargs(*args, **kwargs)
File "C:\Users\huryo\Anaconda3\lib\argparse.py", line 1470, in _get_optional_kwargs
raise ValueError(msg % args)
ValueError: invalid option string 'C:\\input_01.png': must start with a character '-'
arg_parse.addargument()
的第二個位置參數是您要用來引用變量的名稱的長版本,因此-i
將是--input
,如果需要,則需要使用default=...
參數希望它具有默認值。 您應該將代碼更改回:
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--input", required=True,
help="path to input image")
ap.add_argument("-o", "--output", required=True,
help="path to output image")
args = vars(ap.parse_args())
或者,如果您想要-i
和-o
的默認值,則可以使用argparser的默認參數:
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--input", default="C:\input_01.png",
help="path to input image")
ap.add_argument("-o", "--output", default="C:\output_011.png",
help="path to output image")
args = vars(ap.parse_args())
然后從命令行使用命令行參數調用它:
python shape_counter.py -i C:\\input_01.png -o C:\\output_011.png
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.