我正在尝试为一个项目做一些事情,但在搜索并尝试了一些不同的代码后我找不到答案。
我要做的是从客户端接收一个字符串(通过post发送,我必须使用这种方法,老师的命令),然后在php文件中使用exec()编译这个字符串。基本上,我正在“分级”作为字符串发送给我的 python 代码片段。我也在 Andrew 文件系统服务器 (afs) 上执行此操作。
我对python不是很有经验,主要使用其他语言,但我可以用php exec制作一个python可执行文件,也可以用cython编译它(这是我们学校的linux机器有的,不知道我是否应该用这个)。我得到这个来处理文件。
我的问题是我不能简单地编译一个字符串而不运行它。我可以
python -c "print('Hello World')"
用于执行字符串,其中“ print('Hello World') ”将是一个 php 字符串变量
但我不确定如何简单地检查语法错误。
我试过python -m py_compile -c "print('Hello World')"
了,但它不喜欢 py_compile 上的 -m 不喜欢字符串,只喜欢文件
因此,除了基本上为客户端发送给我的每个字符串创建一个新的 .py 文件并进行处理之外,还有没有更好的方法,而无需创建新文件或制作单独的 python 脚本来处理这个问题。我正在尝试在一个 php 文件中执行此操作。这可能是在字符串上执行 python 命令行脚本的一个大问题,所以我不妨问一下。