我移植從Perl來Python的一些代碼,和我移動的功能之一執行以下操作:裹在Python中的函數提供一個額外的布爾
sub _Run($verbose, $cmd, $other_stuff...)
{
...
}
sub Run
{
_Run(1, @_);
}
sub RunSilent
{
_Run(0, @_);
}
這樣做的Python,我天真地認爲我可以做到以下幾點:
def _Run(verbose, cmd, other_stuff...)
...
def Run(*args)
return _Run(True, args);
def RunSilent
return _Run(False, args);
但這不起作用,因爲args是作爲數組/元組傳遞的。爲了使它工作,我做了以下工作:
def _Run(verbose, cmd, other_stuff...)
...
def Run(*args)
return _Run(True, ','.join(args));
def RunSilent
return _Run(False, ','.join(args));
但這看起來有點醜。有沒有更好的辦法?
謝謝。我確實結束了這個: def run(cmd,other_stuff,silent = False): 有時候,在移植這個Perl的東西時,我太習慣了,不要停下來想想我該怎麼做在Python中。 – Cliff 2010-08-30 18:51:24