Am 18.09.2012 15:03 schrieb David Smith:
I COULD break down each batch file and write dozens of mini python scripts to be called. I already have a few, too. Efficiency? Speed is bad, but these are bat files, after all. The cost of trying to work with a multitude of small files is high, though, and I realized I had better go to a mix.
In order to achieve this, it might be very useful to either have a module for each (bigger) part to be achieved which you can call with
python -m modulename arg1 arg2 arg3 and putting the Python code into modulename.py. Or you have one big "interpreter" which works this way: class Cmd(object): """ Command collector """ def __init__(self): self.cmds = {} def cmd(self, f): # register a function self.cmds[f.__name__] = f return f def main(self): import sys sys.exit(self.cmds[sys.argv[1]](*sys.argv[2:])) cmd = Cmd() @cmd.cmd def cmd1(arg1, arg2): do_stuff() ... return 1 # error -> exit() @cmd.cmd def cmd2(): ... if __name__ == '__main__': cmd.main() This is suitable for many small things and can be used this way: bat cmds python -m thismodule cmd1 a b other bat cmds python -m thismodule cmd2 ... HTH, Thomas -- http://mail.python.org/mailman/listinfo/python-list