【问题标题】:Use variable in call to subprocess [duplicate]在调用子进程时使用变量[重复]
【发布时间】:2017-02-19 04:53:37
【问题描述】:

我在构建 Qt 应用程序时使用 Python。 Python 脚本在不同的 PC 中调用,这些 PC 可能具有不同数量的 CPU。为了利用这一点,在 make 步骤中我指定了 CPU 的数量:

subprocess.call(["mingw32-make",
                 "-j4"], shell=True, env=environ)

要检查我所做的 CPU 数量:

n = multiprocessing.cpu_count()

如何将-j4 替换为n

【问题讨论】:

    标签: python python-3.x subprocess python-multiprocessing


    【解决方案1】:

    使用 str.format 传递它:

    n = multiprocessing.cpu_count()
    subprocess.call(["mingw32-make", "-j{}".format(n)], env=environ) 
    

    【讨论】:

    • 需要去掉subprocess.call(["mingw32-make", "-j{}".format(n)], env=environ) –末尾的减号
    • 不要使用shell=True
    • @Brian,哪个减号?
    • 它已被删除。行尾的随机错字减号。
    猜你喜欢
    • 2011-06-15
    • 2016-02-12
    • 1970-01-01
    • 1970-01-01
    • 2017-05-19
    • 2014-01-24
    • 2014-07-21
    • 1970-01-01
    相关资源
    最近更新 更多