create a tmp file for system execution
Donn Cave
donn at u.washington.edu
Wed May 29 12:49:54 EDT 2002
Quoth Eric Texier <erict at millfilm.co.uk>:
| I have a py script executing a bunch of os.system in a loop.
| It is not very fast and I was wondering if it will not be better
| to recreate a execution file.
|
| My 2 questions:
|
| 1) what is faster for a big number of call
...
| os.system("csh -c 'source tmpFile' ")
| os.system("rm -f tmpFile")
You've already gotten some good answers, and you can answer
your own questions pretty easily just by trying the things
you propose to do. Here are two more points:
- this takes 4 seconds "wall clock" time on my computer:
import os
import string
s = ['ls something somethingelse']*2000
s.append('exit 17')
s = string.join(s, '; ')
t = os.system(s)
(I added the "exit 17" just so I'd have some way to verify that
it really did everything.)
- If you have a file of commands, you don't need to "source" it,
you can invoke the shell directly on the file - it's a "script".
- Never use csh if you can avoid it, it's the worst of shells.
The system() function uses "sh", and that's the right choice for
most applications.
- I'm assuming a UNIX platform.
Donn Cave, donn at u.washington.edu
More information about the Python-list
mailing list