当需要动态执行一段Python代码时,可以使用内置函数exec,它可以接收一个代码字符串,并执行其中的Python代码。
使用方法如下:
exec函数示例-1
code_str = "print('hello world')"
exec(code_str)
在示例代码中,首先定义了一个字符串变量code_str,它的值为Python代码字符串”print(‘hello world’)”,然后使用exec函数执行下面一行Python语句,并将执行结果输出到控制台。
运行结果:
hello world
另外一个示例:
exec函数示例-2
code_str = """
i = 1
while i < 5:
print(i)
i += 1
"""
exec(code_str)
在示例代码中,定义了一个字符串变量code_str,它的值为Python代码字符串
i = 1
while i < 5:
print(i)
i += 1
这段代码中定义了一个while循环,当i的值小于5时,循环输出i,并将i的值加1。
通过执行exec函数,将code_str作为参数传入,Python会动态执行这段代码,并输出1到4的值。
运行结果:
1
2
3
4
另外,需要注意的是,exec函数执行的代码字符串中可能包含有安全隐患,建议不要在代码执行前对字符串进行过多的处理和转换,以避免出现潜在的安全问题。一般情况下,可在代码的编写和处理阶段进行输入合法性的检查,以确保执行的代码符合安全标准。