On Apr 26, 7:31 am, Dustan <[EMAIL PROTECTED]> wrote:
> On Apr 26, 1:58 am, Antoon Pardon <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
> > On 2007-04-25, Stef Mientki <[EMAIL PROTECTED]> wrote:
>
> > > hello,
>
> > > As part of a procedure I've a number sequences like this:
>
> > ><Python>
> > > if Print_Info: print Datafile.readline()
> > > else: Datafile.readline()
> > ></Python>
>
> > > Is there a more compressed way to write such a statement,
> > > especially I dislike the redundancy "Datafile.readline()".
>
> > > thanks,
> > > Stef Mientki
>
> > You could consider the following
>
> > def Print(arg):
> > print arg
>
> > def Noop(arg):
> > pass
>
> or (untested):
>
> if Print_Info:
> def printOrNot(arg):
> print arg
> else:
> def printOrNot(arg):
> pass
>
> printOrNot(Datafile.readline())
>
>
>
> > (Print if Print_Info else Noop) (Datafile.readline())
>
> > --
> > Antoon Pardon- Hide quoted text -
>
> - Show quoted text -- Hide quoted text -
>
> - Show quoted text -
The Enable/Disable decorators on the Python wiki (http://
wiki.python.org/moin/PythonDecoratorLibrary?highlight=%28decorator
%29#head-8298dbf9ac7325d9ef15e7130e676378bbbda572) help you do
something very similar, without having to replicate the function being
enabled/disabled.
@(disabled,enabled)[Print_Info]
def printOrNot(arg):
print arg
-- Paul
--
http://mail.python.org/mailman/listinfo/python-list