【发布时间】:2020-08-17 22:10:27
【问题描述】:
我想将包含 perl 中的哈希的哈希转换为 python。这是它的一段 perl 代码:
our %types = (
string => {
db_type => 'string',
hint => 'string',
pattern => qr|^(.+)$|,
format => q( $1 )
},
boolean => {
db_type => 'boolean',
hint => 'yes|no',
pattern => qr|^([yn])|i,
check => q( $1 ),
format => q( ($1 =~ /^y/) ? 'yes' : 'no' )
}
)
这是我用 Python 编写的:
types = [
'string': {
'db_type': 'string',
'hint': 'string',
'pattern': re.compile(r'^(.+)$'),
# 'format':,
},
'boolean': {
'db_type': 'boolean',
'hint': 'yes|no',
'pattern': re.compile(r'^([yn])', re.IGNORECASE),
#'check': HOW SHOULD I TRANSFORM THIS PART?,
#'format': HOW SHOULD I TRANSFORM THIS PART?,
},
]
我不知道应该如何转换格式的值和检查键。 有任何帮助。
【问题讨论】:
-
$1做了什么? -
我猜你应该把它做成一个函数,然后返回一个包含这些部分的字典。
-
@jonrsharpe 我没有办法像 Perl 一样就地完成它吗?
-
您所说的“就地”并不是很清楚。 Python 和 Perl 是根本不同的语言,你不能使用相同的习语。
标签: python perl zoneminder