Python是否提供内置命令以执行用户输入的脚本代码?
Python执行用户输入内容的内置方法
Python提供了两个内置函数可以直接执行用户输入的代码片段,分别是exec()和eval(),适用场景不同:
exec():用于执行无返回值的代码(比如赋值、打印语句),支持多行代码eval():用于执行单个表达式并返回计算结果
实现你示例的代码
用exec()可以直接复现你想要的效果:
a = 3 user_command = input("Enter command: ") exec(user_command)
运行后输入print(a),终端会输出3。
补充:处理带返回值的表达式
如果需要获取输入代码的执行结果,可以用eval():
a = 3 user_expr = input("Enter expression: ") result = eval(user_expr) print(result)
输入a * 2会输出6。
⚠️ 注意:这两个函数存在安全隐患,会执行任意输入的代码,切勿用于处理不可信来源的输入。
内容的提问来源于stack exchange,提问作者hehe
相关产品推荐
相关产品推荐

