James, I cannot test it as I no longer have a Windows machine, but if memory serves....
Leverage Alex's script by creating a .bat file with a name like do.bat with contents like... REM this a BAT file REM usage: do.bat <pythonscriptname> [<args>] python C:\path\to\script\%1% %2% %3% Also, if you setup your Windows environment variable %PATH% to include all or part of your script's dir, you can shorten or have no %PATH% requirement. Again, I cannot test. Larry On Apr 8, 2011, at 3:27 PM, James Thiele wrote: > Larry has correctly stated the steps to set this up on UNIX style systems > such as OS X and Linux. Sadly this approach does not work on XP. > > I am not a Windows expert and I don't play one on TV but a variation on > James' original idea would probably work. > > Put your script in C:\somewhere\reasonable\script.py > > In each directory put a myscript.bat with a line something like: > python C:\somewhere\reasonable\script.py <whatever the syntax for batch > parameters is> > > As I said I'm not a Windows expert. Anyone who knows more than me (not hard!) > please feel free to point out what an idiot I am. > > On Fri, Apr 8, 2011 at 2:37 PM, Larry Bugbee <[email protected]> wrote: > Alex's script should work, but FWIW, I've had good luck with: > 1- #!/usr/bin/env python > 2- removing the .py from the name (optional but makes for easier typing) > 3- give the script execute permission (chmod +x ...) > 3- ensuring the script's directory is in the searchlist ($PATH) > ...on OSX. IIRC it worked on Linux as well. > > Larry > > > On Apr 8, 2011, at 2:11 PM, Smartboy wrote: > >> In Linux and OSX you can create a bash script to do this for you. For >> example: >> >> #!/bin/sh >> python /path/to/script.py $@ >> >> As for Windows, I think you can do something similar, I don't know batch >> very well. >> >> Alex >> >> On 04/08/2011 02:02 PM, James Fort wrote: >>> >>> Hello SeaPIG, >>> >>> I wonder if anyone knows how to address the following issue. I looked in a >>> book and Googled for a while and couldn't find what I'm looking for. >>> >>> I want to have a directory or set of directories that contain Python >>> scripts which I can execute from anywhere in my file system. Right now, >>> I'm concerned with Windows XP, but I may want to do the same in Mac OSX and >>> Linux in the future. Essentially, I want to by able to type: >>> >>> currentDir>>>python script.py arg1 arg2 >>> >>> Where arg1 and arg2 might be files in the current directory that act as >>> inputs to the script and script.py is a script that resides in another >>> directory. >>> >>> Here are some ideas I considered: >>> >>> Setting the PYTHONPATH variable to include a directory where script.py is >>> stored. This did not work. It seems to only work for importing modules >>> once the Python interpreter is already invoked. >>> I read online and in a book that you can set "#!/usr/bin/python" as the >>> first line in a script, assuming that this is the full path to the >>> interpreter, put the script in /usr/bin or any other directory to which >>> PATH points, and run the script using ">>>script.py". I read that this is >>> only an option in Unix, however, and it doesn't allow me to specify the >>> version of Python I want to use as would be possible if I prefixed the >>> script submission command with ">>>python26 script.py". This also >>> precludes me from using ">>>run script.py" from within Ipython. >>> >>> Does anyone know how to handle this? I noticed that I run the same script >>> by copying the script into the directories in which I want to run it, but >>> when I make revisions to the script, I have different versions sitting in >>> different directories, which is becoming very difficult to manage. >>> >>> Thanks, >>> James > > > > > -- > Some radio waves were modulated in the creation of this email.
