Mailing List Archive

Q: newbie win95 - python path navigation assignment strategies needed
Hello

I am very new to Python, though totally convinced of its genius and utility.
Been reading through, and downloading lots of great code, docs, etc. + the 3
books (now waiting for 'Learning Python'). But I seem to be stuck on a
_very_ basic issue. Please help, I need some guidance - over-the-shoulder;
heads-up on something I am not 'getting' yet...

system: Python 1.5.2b2 [MSC 32 bit (Intel)] on win32. 'Idle' by preference
:-)

I do not understand the relationships between modules, namespace, path and
the Python shell. When I am in the python shell at the prompt I can

>>> import sys
>>> sys.path
[.'C:\\Program Files\\Python\\Tools\\idle',
'C:\\PROGRA~1\\PYTHON\\TOOLS\\IDLE', 'C:\\Program Files\\Python\\win32',
'C:\\Program Files\\Python\\win32\\lib', 'C:\\Program Files\\Python',
'C:\\Program Files\\Python\\Pythonwin', 'C:\\Program
Files\\Python\\LLNLDistribution\\NUMERICAL\\LIB', 'C:\\Program
Files\\Python\\LLNLDistribution\\NUMERICAL\\PYDS', 'C:\\Program .....etc
etc...

and also
>>> import os
>>> os.getcwd()
'C:\\Program Files\\Python\\Tools\\idle'

But how and when do I need to change the working directory?
How and when do I need to navigate in the Python shell?
Should I be in the python shell or outside it to do this?
Do I need to even worry about it?
At what point in a session do I need to set the path?
Can I explicitly import a module by supplying a path prefix once and let
Python take care of the rest?
Is there some simple code to automate this?
Are these problems any different because I am using Idle?
What does Python do if it finds two modules with the same name both on
sys.path?

And what are the rules/caveats here about upper or lower case? for Win32
Python pathnames

I cannot seem to find a setcwd() command or similar.. Am I missing
something?

If add items to my path for example
>>> sys.path.append('c:\\mynewmodulepath')
this is good because I can then
>>> import mynewmodule

But when I save out my stuff, read or write from files, or import other
modules which may be located somewhere else, what strategy do you advise I
follow for path setting and manipulation? I have tried setting and changing
os.environ items. Is this the preferred way? for example:

os.environ['MY_DEMOS'] = 'c:\\downloads\\My_Demos'

I realize some of my confusion is because I using Win32 and not on a unix
box at the moment. I am champing at the Python bit because I keep stumbling
over this basic path cwd stuff.

Likewise everywhere it in docs and READMEs where it advises running python
scripts as executables (Unix) how do you advise I behave on Win95/98/NT?

I need to use Win95 at the moment for other purposes and am very keen to use
Python as the glue between apps on Win32 and other OSen (Irix, Linux).

Thanks in advance for any help.

- Jason
Q: newbie win95 - python path navigation assignment strategies needed [ In reply to ]
In article <7eibtm$igb$1@news1.cableinet.co.uk>, jasonic@nomadicsltd.com
says...

>I do not understand the relationships between modules, namespace, path and
>the Python shell. When I am in the python shell at the prompt I can

The main differences between batch and interactive mode are that the latter:
1. echoe the value of expressions;
2. requires a blank line to terminate blocks (if, while, for, def, class).

A module, once imported, is (or becomes) a namespace. Path is where to fine
the text for modules.

>But how and when do I need to change the working directory?
>I cannot seem to find a setcwd() command or similar.. Am I missing
>something?

Yes. For 'how', check contents of ntpath. For when, when you want to import
modules not on explicit paths in sys.pyth (so that they are in '.') or when
you want to open files for reading and writing by simple name without a path.

I'm not sure about some of other questions. Hope this helps. I also work on
Win95 and have few problems.

Terry J. Reedy