小编use*_*896的帖子

使用argparse和python接受字典作为参数

我试图接受带有argparse的type = dict的参数,但无论输入它是否给出了无效dict值的错误.

#!/usr/bin/env python

import argparse

MYDICT = {'key': 'value'}

parser = argparse.ArgumentParser()
parser.add_argument("-m", "--mydict", action="store",
                    required=False, type=dict,
                    default=MYDICT)

args = parser.parse_args()

print args.mydict
Run Code Online (Sandbox Code Playgroud)

当我尝试将字典传递给脚本时会发生这种情况

./argp.py -m "{'key1': 'value1'}"
usage: argp.py [-h] [-m MYDICT]
argp.py: error: argument -m/--mydict: invalid dict value: "{'key1': 'value1'}"
Run Code Online (Sandbox Code Playgroud)

看看这些文件,我认为这是可能的.

http://docs.python.org/dev/library/argparse.html

"支持in运算符的任何对象都可以作为选项值传递,因此支持dict对象,设置对象,自定义容器等."

python dictionary argparse

43
推荐指数
1
解决办法
3万
查看次数

用python排序日期

我有一个像下面这样的字符串列表.

>>> mylist = ["2013-09-07T11:23:43", "2013-09-05T15:14:12", "2013-10-13T22:06:22", "2013-11-16T23:01:34", "2013-12-22T23:11:54"]
Run Code Online (Sandbox Code Playgroud)

我想对它们进行排序,因为它们是日期.

>>> mylist.sort()
Run Code Online (Sandbox Code Playgroud)

这似乎按照我的意愿工作,但是这总是适用于这种格式的任何日期吗?

>>> mylist
['2013-09-05T15:14:12', '2013-09-07T11:23:43', '2013-10-13T22:06:22', '2013-11-16T23:01:34', '2013-12-22T23:11:54']
Run Code Online (Sandbox Code Playgroud)

python sorting datetime iso8601

2
推荐指数
1
解决办法
1632
查看次数

标签 统计

python ×2

argparse ×1

datetime ×1

dictionary ×1

iso8601 ×1

sorting ×1