Bináris said:

> I see in a couple of bots this construction:
>
> def main(*args):
>     for arg in pywikibot.handleArgs(*args):
>    etc.
>
> Now, if I write instead of this
> def main():
>     for arg in pywikibot.handleArgs():
>     etc.
> the result seems to be just the same. I tried with valid global and with 
> unique parameters as well.
> So, what is the difference?
> I know the theory that * means a variable width argument list, but if I 
> omit it, the behaviour does > not change.

The behavior is the same if you run the script from the command line.

However, using (*args) also allows you the option of running the script from 
inside the Python interactive interpreter; for example, if you were running 
"replace.py Foo Bar -start:!", then you could "import replace" in the 
interpreter and run <code>replace.main("Foo", "Bar", "-start:!")</code>. 
This can be useful for debugging, among other things.

Russ


_______________________________________________
Pywikipedia-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikipedia-l

Reply via email to