【发布时间】:2017-06-27 21:49:26
【问题描述】:
基本上,我创建了一个命令行 python 菜单来娱乐和练习。该脚本有许多有趣的功能和命令,但它的中心是实际的命令行,用于检查输入的字符串是否对应于一个选项并执行它。我使用 if 和 elif 来检查命令,它有它的缺点。
elif cmdprompt == '--help':
print("\n"
self.help()
上面的代码将接受用户的输入,如果它是“--help”,那么它将运行该函数。但是,如果用户输入了带有任何空格的字符串,则会将其识别为无效选项。使用“或”似乎效率低下,如果我将它与很多 elif 一起使用,它会破坏我的代码。有什么办法可以让这个命令处理更灵活吗?也许只是检查以确保用户在最后输入带有任意数量空格的“--help”。
【问题讨论】:
-
也许你应该考虑使用argparse?
-
使用
string.trim()删除字符串开头和结尾的空格。 -
@Polikdir 他正在做一个菜单,而不是处理 CLI 参数。
-
@Polikdir 要让每个函数都需要自己的参数,那就太痛苦了
-
import sys; if sys.argv[1].strip() == '--help': ...
标签: python if-statement input