python等价于$(以m为单位)

2024-06-16 14:51:13 发布

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

将Makefile移植到多多比我想在小路上找到“尼古拉”,而不是直接叫它

在Makefile中,我会做一些

NIKOLA = $(which nikola)

然而,我似乎找不到doit/dodo/python等价物,我当前的文件如下所示

import subprocess

Nikola = subprocess.Popen("nikola", stdout=subprocess.PIPE, shell=True)

def task_build():
    return {
        'actions': ['{0} build'.format(Nikola)],
    }

但是,运行task\u build会返回

########################################
Execution aborted.
Task 'build': invalid 'actions' type. got:<subprocess.Popen object at 0x10111f810> <class 'subprocess.Popen'>
(env)

Tags: 文件importbuildactionswhichtaskmakefilenikola
1条回答
网友
1楼 · 发布于 2024-06-16 14:51:13

试试这个:

>>> import subprocess
>>> subprocess.check_output(['which','nikola'])
'/Users/elyase/miniconda/bin/nikola\n'

就你而言:

def task_build():
    return {
        'actions': ['{0} build'.format(Nikola)],
    }

>>> Nikola = subprocess.check_output(['which','nikola']).rstrip()
>>> task_build()
{'actions': ['/Users/elyase/miniconda/bin/nikola build']}

相关问题 更多 >