'-m' option (was RE: [Python-Dev] ConfigParser patches)
Raymond Hettinger
python at rcn.com
Mon Oct 4 09:03:52 CEST 2004
[Guido]
> #!/usr/bin/env python
> import sys, imp
> fn = imp.find_module(sys.argv[1])[1]
> del sys.argv[0]
> sys.argv[0] = fn
> execfile(fn)
>
> seems do the trick (though it could use nicer error handling).
>
> Wouldn't it be easier to add *this* to the Tools/scripts directory
Though not as clean as -m, this script helps. For my own insufficiently
advanced windows box, I added a launcher batch file, pythonm.bat:
@python \py24\tools\scripts\runpy.py %1 %2 %3 %4 %5 %6 %7 %8 %9
It runs pretty well:
C:\tmp> pythonm timeit -s "a=range(20)" "a.append(1)" "a.pop()"
100000 loops, best of 3: 1.75 usec per loop
C:\tmp> pythonm regrtest test_string
test_string
1 test OK.
The combination of batch file and run.py isn't as good as the -m option,
but it works and mostly meets my needs. The batch file is rather dumb,
doesn't work with other python command line options, and won't work
pipes.
> Why does every handy thing that anyone ever thought of
> have to be a Python command line option?
Could Nick's idea be done without an -m option? If a user types,
"python abc.py" and "abc.py" is not found, before aborting, try looking
for it on sys.path.
Raymond
More information about the Python-Dev
mailing list