Passing command line argument to program from within IDLE?

Steve Holden steve at holdenweb.com
Fri Feb 5 00:29:14 CET 2010


Steven D'Aprano wrote:
> On Thu, 04 Feb 2010 16:28:17 -0500, Steve Holden wrote:
> 
>> Terry Reedy wrote:
>>> On 2/4/2010 3:55 PM, Alan Biddle wrote:
>>>> Just finishing my first Python (2.6 on Win XP)  program, which is
>>>> working fine.  My "Duh?" question is about how to run it from within
>>>> IDLE and pass it command line arguments.  No problem using sys.argv
>>>> from a Windows command line, but I have missed how you can do that
>>>> from within IDLE, which complicates development and debugging.
>>> I presume you mean edit, F5-run, see result in shell window. Set
>>> sys.argv in test function or __name__=='__main__' In 3.1 idle shell:
>>>
>>>>>> import sys
>>>>>> sys.argv
>>> ['']
>>>>>> sys.argv = ['abc','dev']
>>>>>> sys.argv
>>> ['abc', 'dev']
>>>
>>> I did not know it was writable, either, until I tried it.
>>>
>> As a solution, however, that sucks, wouldn't you agree?
> 
> [scratches head]
> 
> Do you mean setting sys.argv as a solution sucks? No, I don't, I think it 
> is grand. If sys.argv was unmodifiable, *that* would suck.
> 
> Or do you mean that trying it as a solution to the problem of answering 
> the OP's question sucks? Well, no, experimentation is good for answering 
> these sorts of questions, and I can't assume that the documentation will 
> cover every imaginable use-case, or that users will find it. In the 
> absence of any documentation stating otherwise, I would have assumed that 
> sys.argv was an ordinary list which you can modify at will, but having 
> been caught out on faulty assumptions before, I would try it and see 
> before commenting publicly.
> 
> 
What I meant was it sucks that IDLE has no way to fill in sys.argv as a
part of its "Run Module" functionality - something that is present in
both PythonWin and Wing IDE, for example. But then I have come to the
conclusion that IDLE doesn't fit my brain, or my brain doesn't fit it.

That sys.argv is mutable simply reflects the fact that it's a list.

regards
 Steve
-- 
Steve Holden           +1 571 484 6266   +1 800 494 3119
PyCon is coming! Atlanta, Feb 2010  http://us.pycon.org/
Holden Web LLC                 http://www.holdenweb.com/
UPCOMING EVENTS:        http://holdenweb.eventbrite.com/




More information about the Python-list mailing list