擅长:python、mysql、java
<p>我遇到这个问题是因为我想做类似的事情-str.格式python中的行为>;=2.7使用python>;=2.4。stringformat(<a href="https://github.com/florentx/stringformat" rel="nofollow">https://github.com/florentx/stringformat</a>)中的FormattableString似乎是正确的做法,但它只有在我能够使它适用于文本时才有用。在</p>
<p>尽管有很多注释,但是使用我在这里找到的代码,monkey修补python中的内置代码和文本似乎是可能的:<a href="https://gist.github.com/295200" rel="nofollow">https://gist.github.com/295200</a>。这似乎是阿明·罗纳彻写的,当然不是我写的。在</p>
<p>最后,我能够在Python2.6中做类似的事情,尽管它通常只在2.7中工作。在</p>
<pre><code>dx = get_class_dict(str)
dx['format'] = lambda x,*args,**kargs: FormattableString(x).format(*args,**kargs)
print "We've monkey patched {}, {}".format('str', 'with multiple parameters')
</code></pre>
<p>上面链接中的示例显示了如何添加新方法而不是替换现有方法。在</p>
<p>这个小练习促使我将str和unicode monkey补丁添加到stringformat包中,现在您只需执行以下操作:</p>
^{pr2}$
<p>这可以从这里克隆:“https://github.com/igg/stringformat,直到/除非它被拉入“官方”stringformat。哈。我只有两个超链接,所以你没有点击!在</p>