在Python脚本中运行C++代码(make)

2024-10-03 23:19:06 发布

您现在位置:Python中文网/ 问答频道 /正文

<>我想在编译时用python脚本编译C++中的代码,在X目录中运行“制作”。编译代码需要几秒钟的时间,所以我使用时间模块让脚本休眠60秒来完成代码的编译。在

代码如下:

from subprocess import call
from time import sleep
def make_ut_adsmain():
        os.system("make ../../ads/main/unittest")
        # call(["ls", "-l"])
        sleep(60)

make_ut_adsmain()

# Run other functions when compiled...

错误

^{pr2}$

代码永远不会真正编译,因为其余代码依赖于从未创建的日志文件。请引导我。在


Tags: 模块代码fromimport目录脚本make时间
1条回答
网友
1楼 · 发布于 2024-10-03 23:19:06

实际上,我已经解决了这个问题,并能够使用以下代码运行构建过程:

import subprocess
from time import sleep
def make_ut_adsmain():
        subprocess.Popen(["make"], stdout=subprocess.PIPE, cwd="../../ads/main/unitest")
        sleep(60)

make_ut_adsmain()

注意,前面的解决方案只有在您需要绕过错误时才起作用。正确的方法如下。查看@tdelaney注释并阅读更多关于python文档https://docs.python.org/2/library/subprocess.html

^{pr2}$

相关问题 更多 >