Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.fbb.msu.ru/hg/allpy/file/c1091715f8a3/utils/pool
Дата изменения: Unknown
Дата индексирования: Sun Feb 3 17:27:01 2013
Кодировка:
allpy: c1091715f8a3 utils/pool

allpy

view utils/pool @ 1088:c1091715f8a3

Added allpy.util.Silence to faciliate running most code with as little noise as possible This class is intended for use around noisy chunks of code using `with`, e.g.:: with Silence(): structure = PDBParser().load_pdb(file) This will produce no output to stderr if no exceptions are raised in the code. Otherwise, all output will be printed as if the code was run without this wrapper. See docstrings for more documentation.
author Daniil Alexeyevsky <dendik@kodomo.fbb.msu.ru>
date Fri, 01 Jun 2012 13:43:02 +0400
parents
children
line source
1 #!/usr/bin/python
2 import subprocess
3 import os
4 import shlex
5 import optparse
7 p = optparse.OptionParser()
8 p.add_option('-n', '--size', type=int, help='Pool size')
9 p.add_option('-c', '--cmd',
10 help='Command template. Insert {} for argument.'
11 ' Put the argument in double quotes if it may contain spaces.')
12 options, args = p.parse_args()
14 spawned = 0
15 for arg in args:
16 if spawned > options.size:
17 os.wait()
18 spawned -= 1
19 cmd = shlex.split(options.cmd.replace('{}', arg))
20 subprocess.Popen(cmd)
21 spawned += 1
23 try:
24 while True:
25 os.wait()
26 except Exception:
27 pass
29 # vim: set ts=4 sts=4 et sw=4: