On 24 January 2013 04:49, Steven D'Aprano <steve+comp.lang.pyt...@pearwood.info> wrote: [SNIP] > > Contrariwise, I don't believe that there is currently *any* way to > distinguish between running a script with or without -m. That should be > fixed.
As I said earlier in the thread, the __package__ module global distinguishes the two cases: ~$ mkdir pkg ~$ touch pkg/__init__.py ~$ vim pkg/__main__.py ~$ cat pkg/__main__.py import sys if __package__ is None: cmdline = [sys.executable] + sys.argv else: cmdline = [sys.executable, '-m', __package__] + sys.argv[1:] print(cmdline) ~$ python pkg/__main__.py arg1 arg2 ['q:\\tools\\Python27\\python.exe', 'pkg/__main__.py', 'arg1', 'arg2'] ~$ python -m pkg arg1 arg2 ['q:\\tools\\Python27\\python.exe', '-m', 'pkg', 'arg1', 'arg2'] Oscar -- http://mail.python.org/mailman/listinfo/python-list