我有一个在线ide,它从用户那里获取代码和语言,提交后服务器必须执行文件。我的系统上安装了g ++,但执行时我在subprocess模块中得到以下错误:
'g++' is not recognized as an internal or external command,
operable program or batch file.
'.' is not recognized as an internal or external command,
operable program or batch file.
文件执行的函数为:
def execute_file(file_name,language):
if(language=="cpp"):
#g++ xyz.cpp
subprocess.call(["g++","code/" + file_name],shell=True) #this only compiles the code
subprocess.call(["./a.out"],shell=True) #this executes the compiled file.
我的代码文件在/code目录中。
目录结构为:
1条答案
按热度按时间a64a0gku1#
在我指定删除
shell=True
并使用os module
指定文件的绝对路径后,冲突得到解决。