首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python与make中的$(其中)相等

python与make中的$(其中)相等
EN

Stack Overflow用户
提问于 2015-01-06 11:58:03
回答 1查看 54关注 0票数 1

将Makefile移植到dodo.py,我想在路径上找到"nikola“,而不是直接调用它

在Makefile中,我会做一些类似的事情

代码语言:javascript
复制
NIKOLA = $(which nikola)

但是,我似乎无法找到doit/dodo/python与我当前的文件类似的如下所示

代码语言:javascript
复制
import subprocess

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

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

但是,运行task_build会返回以下内容

代码语言:javascript
复制
########################################
Execution aborted.
Task 'build': invalid 'actions' type. got:<subprocess.Popen object at 0x10111f810> <class 'subprocess.Popen'>
(env)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-06 12:07:42

试试这个:

代码语言:javascript
复制
>>> import subprocess
>>> subprocess.check_output(['which','nikola'])
'/Users/elyase/miniconda/bin/nikola\n'

就你而言:

代码语言:javascript
复制
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']}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27798189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档