[Tutor] sys.argv[1: ] help

Richard gelling uselinux34 at yahoo.co.uk
Sun Feb 27 19:28:18 CET 2005


Hi,
Yes, I use both Wndows XP and Linux( at work ) . I left that in by 
mistake I am actually just typing in

arg1,py a b c

at the windows XP command prompt

Sorry for the confusion.


Liam Clarke wrote:

>Are you using XP still? I've never seen this before -  
>  
>
>>./arg1.py a  b c
>>    
>>
>
>But anyhoo, I tried out just 
>'c:\python23\foo.py'
>as opposed to 
>'c:\python23\python foo.py' and
>while foo.py will run, it doesn't echo to the console, as on my
>machine running a .py file runs it through pythonw.exe - I'd check it
>out for your machine, it's probably the same. You'd need to change the
>association to python.exe, but that would mean that you always got a
>DOS box for every Python script you ran, which is annoying with GUIs.
>
>Erm, if you don't want to type in python each time, either change the
>association or create a batch file called x or a or something that
>runs Python  and stick it in a directory that's in your PATH system
>variable. Only problem with that is passing command line variables....
>
>...might just be better to type python....
>
>Good Luck, 
>
>Liam Clarke
>
>On Sun, 27 Feb 2005 17:55:54 +0000, Richard gelling
><uselinux34 at yahoo.co.uk> wrote:
>  
>
>>Hi,
>>
>>No What I get if I was to type in
>>./arg1.py a  b c
>>
>>All I get is
>>[]
>>
>>If i type at the command prompt
>>
>>python arg1.py a b c
>>
>>I get ['a','b','c']  as expected
>>
>>All the other programs and examples I have typed in work fine just by
>>typing in the file name, I don't have to preced the file name with
>>python, only this example. I hope this makes it clearer
>>
>>Richard G.
>>
>>
>>Nick Lunt wrote:
>>
>>    
>>
>>>Richard,
>>>
>>>if you try to print sys.argv[1:] when sys.argv only contain sys.argv[0]
>>>then you are bound to get an empty list returned, [] .
>>>
>>>Im not sure I understand the problem you think you've got but here's
>>>what happens with sys.argv for me, and it's correct.
>>>
>>>[argl.py]
>>>
>>>$ cat argl.py
>>>#!/usr/bin/python
>>>
>>>import sys
>>>print sys.argv[1:]
>>>
>>>
>>>./argl.py
>>>[]
>>>
>>>./argl.py a b c
>>>['a', 'b', 'c']
>>>
>>>Is that what your getting ?
>>>
>>>
>>>      
>>>
>>>
>>>
>>>      
>>>
>>>>Sorry for the late response, I tried all of the the suggestions,
>>>>including correcting my typo of print sys[1:] and tried print
>>>>sys,argv[1:], this does now work as long as I run 'python test.py fred
>>>>joe' it returns all the arguments. If I try just test.py all I get is
>>>>'[]' . Is there something wrong with my environmental variables in
>>>>Windows XP, I would like to be able to just use the file name rather
>>>>than having to type python each time. Any help would be gratefully received.
>>>>
>>>>Richard G.
>>>>_______________________________________________
>>>>Tutor maillist  -  Tutor at python.org
>>>>http://mail.python.org/mailman/listinfo/tutor
>>>>
>>>>
>>>>        
>>>>
>>>_______________________________________________
>>>Tutor maillist  -  Tutor at python.org
>>>http://mail.python.org/mailman/listinfo/tutor
>>>
>>>
>>>
>>>      
>>>
>>_______________________________________________
>>Tutor maillist  -  Tutor at python.org
>>http://mail.python.org/mailman/listinfo/tutor
>>
>>    
>>
>
>
>  
>



More information about the Tutor mailing list