听说 make 检测目标更新的原理是比较源文件和目标文件的修改时间,源文件后于目标文件则需要重新 make。
好像可以:

import os
import os.path
import subprocess
import logging

logger = logging.getLogger(__name__)
stream_handler = logging.StreamHandler()
logger.addHandler(stream_handler)

source_mtime = os.path.getmtime("test.py")
target_mtime = os.path.getmtime("[email protected]")

if source_mtime > target_mtime:
    logger.info("need remake {}".format('[email protected]'))
    proc = subprocess.Popen(
        [
            "python",
            "test.py",
        ],
        cwd=os.getcwd(),
    )
    print(" ".join(proc.args))
else:
    print("nothing to remake")
Sign in to participate in the conversation
小森林

每个人都有属于自己的一片森林,也许我们从来不曾走过,但它一直在那里,总会在那里。迷失的人迷失了,相逢的人会再相逢。愿这里,成为属于你的小森林。