如果有readline支持,默认情况下,标准cmd模块提供了不错的工具来构建具有自动完成功能的CLI。
但是我想知道如何从程序内部知道此支持是否有效,以及是否启用了完成功能。
答案 0 :(得分:0)
我检查了cmd模块的源代码,并在try-except块中将它需要的地方导入readline以捕获ImportError。然后,确定是否启用完成的最佳方法是使用以下代码:
try:
import readline
completion_available = True
except ImportError:
completion_available = False