无法在 python 的 exec 命令中执行 if 语句
Unable to execute a if statement in exec command in python
var1 = 100
isTrue=[]
isFalse=[]
run_cmd = f'if var1:
print "1 - Got a true expression value"
print var1
isTrue.append(var1)
else:
print "1 - Got a false expression value"
print var1
isFalse.append(var1)'
exec(run_cmd)
输出
"1 - Got a true expression value"
100
所以上面的代码我想 运行 在 exec
命令中,我无法在 python 中的 exec 命令中执行,我可以 运行 ,但是 if statement
如上所述我无法这样做..
当您的字符串有多行时,您需要像这样使用三引号:
variable = """
x = 10
print(x)
"""
或单三引号:
variable = '''
x = 10
print(x)
'''
此外 Python2 不支持 f 字符串,没有它也可以处理您的代码。
代码如下:
var1 = 100
isTrue=[]
isFalse=[]
run_cmd = '''
if var1:
print "1 - Got a true expression value"
print var1
isTrue.append(var1)
else:
print "1 - Got a false expression value"
print var1
isFalse.append(var1)
'''
exec(run_cmd)
var1 = 100
isTrue=[]
isFalse=[]
run_cmd = f'if var1:
print "1 - Got a true expression value"
print var1
isTrue.append(var1)
else:
print "1 - Got a false expression value"
print var1
isFalse.append(var1)'
exec(run_cmd)
输出
"1 - Got a true expression value"
100
所以上面的代码我想 运行 在 exec
命令中,我无法在 python 中的 exec 命令中执行,我可以 运行 ,但是 if statement
如上所述我无法这样做..
当您的字符串有多行时,您需要像这样使用三引号:
variable = """
x = 10
print(x)
"""
或单三引号:
variable = '''
x = 10
print(x)
'''
此外 Python2 不支持 f 字符串,没有它也可以处理您的代码。
代码如下:
var1 = 100
isTrue=[]
isFalse=[]
run_cmd = '''
if var1:
print "1 - Got a true expression value"
print var1
isTrue.append(var1)
else:
print "1 - Got a false expression value"
print var1
isFalse.append(var1)
'''
exec(run_cmd)