19
การแยกค่าบูลีนด้วย argparse
ฉันต้องการใช้ argparse เพื่อวิเคราะห์อาร์กิวเมนต์บรรทัดคำสั่งบูลีนที่เขียนเป็น "--foo True" หรือ "--foo False" ตัวอย่างเช่น: my_program --my_boolean_flag False อย่างไรก็ตามรหัสทดสอบต่อไปนี้ไม่ได้ทำในสิ่งที่ฉันต้องการ: import argparse parser = argparse.ArgumentParser(description="My parser") parser.add_argument("--my_bool", type=bool) cmd_line = ["--my_bool", "False"] parsed_args = parser.parse(cmd_line) น่าเศร้าparsed_args.my_boolประเมินTrueว่า เป็นกรณีนี้แม้ในขณะที่ฉันจะเปลี่ยนcmd_lineให้เป็น["--my_bool", ""]ซึ่งเป็นที่น่าแปลกใจตั้งแต่bool("")evalutates Falseไป ฉันจะได้รับ argparse การแยก"False", "F"และกรณีที่ต่ำกว่าของพวกเขาจะเป็นสายพันธุ์False?