Timo List wrote:
For my program I disable the py2exe log feature by routing output to the
nul-file.
Code:

        if win32 and py2exe:
            sys.stdout = open("nul", "w")
            sys.stderr = open("nul", "w")

This always worked fine.

Today, I received an email from a user with the following error:
IOError: [Errno 2] No such file or directory: 'nul'

Now, I thought the nul-file always existed, shouldn't it?
Is there another way to disable output, if this one fails?

Cheers,
Timo

All you need is an object that behaves like a file, but does nothing with the data sent to it. That's what duck-typing is all about.

I haven't tried it, but I'd start by making a new class:

class  NullFile(object):
   def __init__(self, *arg, **kwarg):
            pass
   def write(self, data, *arg, **kwarg):
           pass
    def close(self, *arg, **kwarg):
          pass

and just say
   sys.stdout = NullFile()

If you get any exceptions, you could add new methods to this file, accordingly.


DaveA

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to