Hi all -- it recently occured to me that the 'spawn' module I wrote for the Distutils (and which Perry Stoll extended to handle NT), could fit nicely in the core library. On Unix, it's just a front-end to fork-and-exec; on NT, it's a front-end to spawnv(). In either case, it's just enough code (and just tricky enough code) that not everybody should have to duplicate it for their own uses. The basic idea is this: from spawn import spawn ... spawn (['cmd', 'arg1', 'arg2']) # or spawn (['cmd'] + args) you get the idea: it takes a *list* representing the command to spawn: no strings to parse, no shells to get in the way, no sneaky meta-characters ruining your day, draining your efficiency, or compromising your security. (Conversely, no pipelines, redirection, etc.) The 'spawn()' function just calls '_spawn_posix()' or '_spawn_nt()' depending on os.name. Additionally, it takes a couple of optional keyword arguments (all booleans): 'search_path', 'verbose', and 'dry_run', which do pretty much what you'd expect. The module as it's currently in the Distutils code is attached. Let me know what you think... Greg -- Greg Ward - software developer gward@cnri.reston.va.us Corporation for National Research Initiatives 1895 Preston White Drive voice: +1-703-620-8990 Reston, Virginia, USA 20191-5434 fax: +1-703-620-0913
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4