gpt4 book ai didi

python - 使用 hglib 时如何停止 hg 子进程

转载 作者:行者123 更新时间:2023-12-01 04:38:49 25 4
gpt4 key购买 nike

我在 Mercurial 中有一个 Python 应用程序。在应用程序中,我发现需要显示当前正在运行的提交。到目前为止我发现的最好的解决方案是使用hglib。我有一个如下所示的模块:

def _get_version():
import hglib
repo = hglib.open()
[p] = repo.parents()
return p[1]

version = _get_version()

这使用hglib来查找使用的版本并将结果存储在一个变量中,我可以在服务保持运行的整个过程中使用该变量。

我现在的问题是,这会使 hg 子进程运行,这对我来说毫无用处,因为一旦该模块完成初始化,我就不需要使用 hglib 不再了。

一旦我对存储库实例的引用超出范围,我预计子进程会在垃圾收集期间关闭。但显然这不是它的工作原理。

在阅读 hglib 文档时,我没有找到任何有关如何关闭子进程的文档。

完成后关闭 hg 子进程的首选方法是什么?

最佳答案

您需要像对待文件一样对待存储库。完成后调用 repo.close() 或在 with 中使用它:

def _get_version():
import hglib
with hglib.open() as repo:
[p] = repo.parents()
return p[1]

version = _get_version()

关于python - 使用 hglib 时如何停止 hg 子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31203528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com