【发布时间】:2013-01-23 16:00:19
【问题描述】:
请原谅我的标题很差,我真的想不出合适的标题。
这是我的问题。假设我得到了一个字符串列表:
['2010.01.01',
'1b',
'`abc'
'12:20:33.000']
我想做一个“类型检查”,以便给定第一个字符串返回日期类型,第二个布尔值,第三个符号,一次第四个......等等。返回的值可以是字符串或任何事情,因为我想做的就是转换正确的 ctypes。
有什么办法吗?
ps:我的python是2.5
【问题讨论】:
-
当然——您只需要确定一组规则,将哪些字符串映射到哪些“类型”,然后应用它们。例如,您的第二个“1b”对我来说根本不像布尔值,但我的意见并不重要。
-
您想要做的是格式检查而不是类型检查。看起来像是正则表达式的工作。
-
您可以按照@DSM 的建议滚动您自己的映射,或者您可以使用
pyparsing之类的东西,或者,如果您有灵活性,重新定义接口以接受已经定义好的JSON 之类的东西规则和经过良好测试的解析器。