execfile() on file subclass or string

Brano Zarnovican zarnovican at pobox.sk
Thu Mar 24 10:19:07 CET 2005

Hi !

I have a python script represented by a string.
I need to execute it in a context. 'exec' does
the job, but doesn't display the filename in
tracebacks. 'execfile' is displaying the filename
but it can only exec a script in a filesystem.

I have tried:
- to give exec a filename, like:

  exec script_content in dict({'__file__':'bla.py'})

  => didn't work (neighter with __name__)

- create an in-memory file subclassing 'file'

  class memfile(file):
    def read(self)..

  => also pointless as 'execfile' doesn't accept a file
    only a filename

Can you help me ?
The only problem I need to resolve is that I don't see
the script name in tracebacks.



PS: The script didn't came from the filesystem, but I know
  it's content and a name.

More information about the Python-list mailing list