我有一个需要一些命令行输入的python脚本,并且我正在使用argparse进行解析。我发现文档有点混乱,找不到在输入参数中检查格式的方法。这个示例脚本解释了我检查格式的意思:
parser.add_argument('-s', "--startdate", help="The Start Date - format YYYY-MM-DD ", required=True)
parser.add_argument('-e', "--enddate", help="The End Date format YYYY-MM-DD (Inclusive)", required=True)
parser.add_argument('-a', "--accountid", type=int, help='Account ID for the account for which data is required (Default: 570)')
parser.add_argument('-o', "--outputpath", help='Directory where output needs to be stored (Default: ' + os.path.dirname(os.path.abspath(__file__)))
我需要检查选项,-s
并且-e
用户输入的格式为YYYY-MM-DD
。我不知道argparse中有一个选项可以完成此任务。
根据文档:
的
type
关键字参数add_argument()
允许执行任何必要的类型检查和类型转换…type=
可以接受带有单个字符串参数并返回转换后值的任何可调用对象
您可以执行以下操作:
def valid_date(s):
try:
return datetime.strptime(s, "%Y-%m-%d")
except ValueError:
msg = "Not a valid date: '{0}'.".format(s)
raise argparse.ArgumentTypeError(msg)
然后将其用作type
:
parser.add_argument("-s",
"--startdate",
help="The Start Date - format YYYY-MM-DD",
required=True,
type=valid_date)
我的问题是关于thymeleaf数据对象绑定。表单标记中有th:object=“${newPost}”。Thymeleaf看到它,当我提交我的表单时,它将每个,绑定到这个对象的字段。 但是如果我从type='text'更改为type='anything else'>thymeleaf不会映射任何内容。我如何使thymeleaf绑定其他标签,如等到我的对象?
我想知道为什么Java程序在运行时只从命令行获取字符串形式的参数?我读过,如果参数声明为int,它仍然将int转换为字符串。为什么会出现这种情况?并且在运行java程序时,有没有办法只从命令行接受int值呢?
#include <stdio.h> int main(void) { int i; for (i = 0; i < 100; i++) { printf("i = %d\n", i); } return 0; } 技巧 在gdb中,缺省情况下程序的输入输出是和gdb使用同一个终端。你也可以为程序指定一个单独的输入输出终端。 首先,打开一个新终端,使
问题内容: 我正在运行AnchorCMS,而我刚刚升级到0.8版。尝试运行安装程序时,出现“未指定输入文件”错误。我相信这很可能是.htaccess问题,但是我不确定应该使用什么正确的设置。 我的网站可以在这里找到。 我的.htaccess设置为: 如果有帮助,我还将GoDaddy用作托管服务提供商。 问题答案: 未 指定输入文件 是由于服务器上PHP的实现而向您显示的消息,在这种情况下,这表示C
我正在创建一个Cloudwatch事件规则,如果步骤函数进入故障或超时状态,它应该会触发lambda。云观察事件规则将参数传递给lambda,这将发送一封自定义的SNS电子邮件。我正在尝试将输入参数的值从我在云形成模板中设置的参数传递到Cloudwatch事件规则中。我无法让Cloudform将参数值提取出来,将它们放入Cloudwatch事件规则输入参数中。CF接受我在JSON中给出的文字值并将
问题内容: 嗨,我是Codeigniter的初学者,我看过CI教程,只是想做一件简单的事情。我下载了CI,并将此文件添加到控制器目录中,但是它不起作用。 当我尝试使用http://..../index.php/site访问它时,得到输出…“未指定输入文件” .....,我将文件命名为site.php。 问题答案: 我在这里找到了此问题的答案.....问题是托管服务器…我感谢所有尝试过的人....希