首页 > 解决方案 > 将字符串传递给 Invoke

问题描述

我正在尝试使用调用来设置基本的 git 例程。我遇到的问题是我似乎无法调用以将字符串作为参数参数。每次运行代码时都会出错。我确定我错过了一些简单的东西。我正在使用 ZSH 运行。

任何帮助将不胜感激!

(stats) bnice5000@Macbook COVID-STATS % invoke push --message='fixed invoke'  
fatal: paths 'invoke ...' with -a does not make sense
(stats) bnice5000@Macbook COVID-STATS % 
from invoke import task
import datetime

foldername = '{:%Y%m%d}'.format(datetime.date.today())
commit_message = '\"Daily push for {0}\"'.format(foldername)

@task
def push(c, tag=False, message=''):
    c.run('git add --all')
    if not message:
        message = commit_message
    c.run('git commit -am {0}'.format(message))
    if tag:
        c.run('git tag {0}'.format(foldername))

    c.run('git push origin master')

标签: pythonpyinvoke

解决方案


第一:您可以使用print()而不是c.run()查看您运行的命令。

您必须添加" "git commit -am "{0}"因为您有带有空格的消息。

或者你必须在" "里面' '使用--message='"fixed invoke"'


推荐阅读