Execute commands from file
i3dmaster
i3dmaster at gmail.com
Thu May 17 03:30:23 EDT 2007
On May 16, 1:05 pm, Steve Holden <s... at holdenweb.com> wrote:
> Martin Blume wrote:
> > "tmp123" schrieb >
> >> We have very big files with python commands
> >> (more or less, 500000 commands each file).
>
> >> It is possible to execute them command by command,
>
> > inp = open(cmd_file)
> > for line in inp:
> > exec line
>
> > might help. You don't get quite the same feeling as
> > "like if the commands was typed one after the other
> > in a interactive session", but perhaps this helps.
>
> > Warning: the code above is without any error checks.
> > You might also run into security problems, the example
> > above assumes you trust your input.
>
> > HTH. YMMV.
> > Martin
>
> The problem with this approach is that each line executes without any
> connection to the environment created by previous lies.
>
> Try it on a file that reads something like
>
> xxx = 42
> print xxx
>
> and you will see NameError raised because the assignment hasn't affected
> the environment for the print statement.
>
> regards
> Steve
> --
> Steve Holden +1 571 484 6266 +1 800 494 3119
> Holden Web LLC/Ltd http://www.holdenweb.com
> Skype: holdenweb http://del.icio.us/steve.holden
> ------------------ Asciimercial ---------------------
> Get on the web: Blog, lens and tag your way to fame!!
> holdenweb.blogspot.com squidoo.com/pythonology
> tagged items: del.icio.us/steve.holden/python
> All these services currently offer free registration!
> -------------- Thank You for Reading ----------------
cat file:
x = 100
print x
cat file.py:
#!/usr/bin/python2.4
import os.path
import sys
file, ext = os.path.splitext(sys.argv[0])
f = open(file,'rb')
for i in f:
exec i
>./file.py
100
Don't see the problem though.
More information about the Python-list
mailing list