On Tue, Oct 20, 2020 at 8:06 PM Michael Smith <mich...@smith-li.com> wrote:
> On Tue, Oct 20, 2020 at 10:19 PM Guido van Rossum <gu...@python.org> > wrote: > > > > I think it would be a tad more convincing if there was a way to pass > arguments too (even if just a list of strings). At the very least extra > arguments should end up in sys.argv[1:]. > > Could python -m 'module:thunk' have exactly the same behavior with > respect to arguments as `python3.8 -m module` does today? > > ``` > $ cat bar.py > import pprint, sys > > def thunk(): > pprint.pprint(sys.argv) > > if __name__ == "__main__": > thunk() > > $ python3.8 -m bar -- -1 --two --three=3 > ['/Users/michael/bar.py', '--', '-1', '--two', '--three=3'] > ``` > > So then with the same bar.py, `python -m bar:thunk -- -2 --three > --four=4` would print `['/Users/michael/bar.py', '--', '-1', '--two', > '--three=3']`. I like this better than my previous suggestion to > shorthand python -c. > Actually it should print the same except for sys.argv[0]. (We could argue about what sys.argv[0] should be.) > > Then again, presumably the function must be specially crafted for this > usage. Why can't you just specially craft a module's main()? > > I'm not sure I know what you mean by "specially crafted", other than > the function only needs not require any formal parameters. It doesn't > need to be special-er than that. It can handle args via sys.argv, as > you suggested. Most of the `main` functions I write today are just > like that. > Okay, so this is just a way to choose an alternative main() function. I'm kind of meh at this point, I'll leave it to the usual crowd. :-) -- --Guido van Rossum (python.org/~guido) *Pronouns: he/him **(why is my pronoun here?)* <http://feministing.com/2015/02/03/how-using-they-as-a-singular-pronoun-can-change-the-world/>
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/IKIE2ST5TBIJDR3UPE5N3ATXFELCMNVF/ Code of Conduct: http://python.org/psf/codeofconduct/