Execute commands from file

Steve Holden steve at holdenweb.com
Wed May 16 16:05:03 EDT 2007


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 ----------------




More information about the Python-list mailing list