你好,
我实际上正在学习如何使用 click 包中的一些元素,并且我希望能够通过使用该prompt
命令从用户那里获取有效日期。
我试图查找文档,并在http://click.pocoo.org/5/prompts/下找到了这个:
要手动要求用户输入,您可以使用 prompt() 函数。默认情况下,它接受任何 Unicode 字符串,但您可以要求任何其他类型。
所以我编写了这段代码并尝试将类 datetime.datetime 作为所需的输入类型传递:
import datetime
value = click.prompt("Enter a date", type=datetime.datetime)
当我执行此代码时,会出现提示,但在我插入有效日期并按 Enter 键后,我收到以下错误消息:
回溯(最后一次调用):文件“”,第 1 行,在文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/click/termui.py”,第 98 行,在提示结果 = value_proc(value) 文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/click/types.py”,第 38 行,调用 返回 self.convert (值,参数,ctx)文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/click/types.py”,第87行,在转换中返回self.func(值) TypeError: 需要一个整数(得到类型 str)
拜托,你能告诉我我在这段代码中做错了什么吗?
基本上我想通过编写类似这段(部分虚构的)代码来获得正确格式化的日期值:
import datetime
value = click.prompt("Enter a date",
type=datetime.datetime,
format="%d/%m/%Y",
default=datetime.datetime.now())
非常感谢