小编Arj*_*jor的帖子

类方法的functools.partial

我正在尝试使用另一个更通用的类方法定义一些类方法,如下所示:

class RGB(object):
    def __init__(self, red, blue, green):
        super(RGB, self).__init__()
        self._red = red
        self._blue = blue
        self._green = green

    def _color(self, type):
        return getattr(self, type)

    red = functools.partial(_color, type='_red')
    blue = functools.partial(_color, type='_blue')
    green = functools.partial(_color, type='_green')
Run Code Online (Sandbox Code Playgroud)

但当我尝试调用任何这些方法时,我得到:

rgb = RGB(100, 192, 240)
print rgb.red()
TypeError: _color() takes exactly 2 arguments (1 given)
Run Code Online (Sandbox Code Playgroud)

我想_color自从rgb.red(rgb)工作以来,自我没有被传递.

python methods exception functools

35
推荐指数
2
解决办法
2万
查看次数

克隆git repo到非空文件夹

我在git下有一个大型的C项目.其他人有相同的C项目,但他没有使用git.

我们俩都是从相同的基线开始的,但我只是做了git init/ git add .并开始使用git.

我想将我的git托管更改合并到其他分支并在他的项目文件夹中使用init git,这样我们就会同步并使用git.

你会怎么用git做这个?

git git-merge git-clone git-remote

4
推荐指数
1
解决办法
2209
查看次数

参数组之间的相互排斥

我正在尝试使用 argparse 模块实现以下参数依赖项: ./prog [-h | [-v schema] file] 这意味着用户必须传递 -h 或文件,如果传递文件,用户可以选择传递 -v 模式。

这就是我现在所拥有的,但似乎不起作用:

import argparse

parser = argparse.ArgumentParser()
mtx = parser.add_mutually_exclusive_group()
mtx.add_argument('-h', ...)  
grp = mtx.add_argument_group()
grp.add_argument('-v', ...)
grp.add_argument('file', ...)   
args = parser.parse_args()
Run Code Online (Sandbox Code Playgroud)

看起来您无法将 arg 组添加到互斥体组中,还是我遗漏了某些内容?

python argparse

4
推荐指数
1
解决办法
3470
查看次数