在Python中如何将变量与值匹配

在Python中如何将变量与值匹配,python,Python,我不知道如何在Python中实现以下内容。我有一个变量,里面有一个字符串 variable=“Normal”或variable=“Unknown” 我只想写一个If语句,它将检查变量的值,并根据它执行一些代码 在Perl中,我只需编写 if ( $variable =~ /Normal/ ) { dosomething() } elsif ( $variable =~ /Unknown/ ) { dosomething() } else { raiseerror() }

我不知道如何在Python中实现以下内容。我有一个变量,里面有一个字符串

variable=“Normal”或variable=“Unknown”

我只想写一个If语句,它将检查变量的值,并根据它执行一些代码

在Perl中,我只需编写

if ( $variable =~ /Normal/ ) {
    dosomething()
} elsif ( $variable =~ /Unknown/ ) {
    dosomething()
} else {
    raiseerror()
}

如何在Python中实现相同的功能?

是否有意在
if
elsif
中使用相同的
dosomething()
?如果是这样的话,您可以通过以下方式逃脱:

if variable == "Normal":
    #do something
elif variable == "Unknown":
    #do something else
else:
    #do another thing
if variable in ('Normal', 'Unknown'):
    dosomething()
else:
    raise Exception
否则,您还需要将
elsif
转换为python:

if variable == "Normal":
    dosomething()
elif variable == "Unknown":
    dosomethingelse()
else:
    raise Exception

您似乎在这里使用Perl正则表达式。因此,Python中的映射解决方案是:

import re

if re.search("Normal", variable):
    do_something()
elif re.search("Unknown", variable):
    do_something()
else:
    raise Exception("Error")

在Python中,
re
模块中提供了正则表达式。
re.search
的第一个参数类似于用Perl编写的正则表达式。

如果要检查等式,可以执行
variable==“Normal”
如果要检查它是否包含变量,可以执行
variable中的“Normal”
如果要使用正则表达式,应该查找
re
module@termcap万一你不知道,你收到的反对票很可能是因为社区对直接翻译任务非常不满,尤其是当我们没有证据表明你自己尝试过这个问题时。据我所知,你花了数小时研究这个问题,但我们无法从你所写的内容中看出这一点。您所付出的最大努力和遇到的确切错误的例子将提高问题的质量。@HansMusgrave事实上我花了大约两天的时间试图弄清楚这一点,但由于我来自Perl背景,我不希望python像bash一样工作。我在看匹配和正则表达式等。我之所以使用“翻译”一词是为了让人们更容易回答这个问题并保持简单,但似乎适得其反:)@termcap我不认为这是“翻译”一词,而是因为这个问题没有证据证明你所做的工作和你遇到的具体问题。StackOverflow的目的之一是作为如何解决特定问题类型的索引,正如所写的,您的问题可能不会直接应用于其他任何人。通过包含您观察到的具体行为和您想要的内容,我们可能会吸引用户提出相同类型的问题,并且能够从教学角度提供更量身定制的回答。