该文档说,如果用户输入"完整且有效" ,compile_command
模块中的code
函数将返回有效的代码对象。我想知道这个决定是否依赖于python的运行环境,例如变量和运行compile_command
的工作空间中的导入模块。
我之所以这样问是因为我想将本地机器中python的用户输入发送到远程机器中的python执行。我想在实际发送用户输入执行之前决定用户输入是否完整。我的问题是,在我的本地机器中调用compile_command
是否足够,或者我是否必须将用户输入发送到远程机器以确定它是否完整。
答案 0 :(得分:1)
编译独立于执行环境。这就是为什么compile_command
不接受像eval()
function这样的全局和 locals 参数的原因。
因此,编译Python代码可确保它在语法上是正确的,并且遵循语言规则。但是,这并不能保证代码在给定特定执行环境时实际运行。