Gabriel Genellina wrote:
En Thu, 30 Apr 2009 14:33:38 -0300, Jim Carlock escribió:

I'm messing around with a program right at the moment. It
ends up as two applications, one runs as a server and one
as a client which presents a Window. It almost works, so I
need to work through it to work out it's bugs, and I'll be
rewriting it in a couple other languages.

Python looks fairly simple. It's a lot of "import" commands
and then "from" statements to do more importing. So I need
to figure out what the difference is between the two, as
the "from" seems to provide a way to identify what it wants
to import from the library/module.

Start by reading http://docs.python.org/tutorial
In particular, section 6: Modules

I find it odd that no one includes the FQFN and employs a
short name.

fully.qualified.module.name is long to type, error prone, and slow -- Python has to resolve each dotted name at runtime, every time it's used.

So writting this is common:
from fully.qualified.module import name
and then, just use `name` in the code. By looking at the `import` lines, usually located at the top, you know where a certain name comes from.

...unless there are statements like this:
from somemodule import *
which are considered bad practice anyway.

Nothing seems to get SET in the Environment to
identify where the library gets configured. I have to run
off to find help on the differences between "import" and
"from".

No need for that, usually. There is a default library search path that is built relative to the interpreter location. That is, if the Python interpreter used is /usr/some/fancy/directory/python, then the standard library is at /usr/some/fancy/directory/lib/python2.6, additional packages are at /usr/some/fancy/directory/lib/python2.6/site-packages, etc.

You *can* alter the search path by setting some environment variables, but I don't like that.

------------------------------
I would like to make a small comment here on Python locations.
Windows seems to have to have a slight difference.

...\python\Lib                   #py libs go here
...\pythonVer\Lib\site-packages  #addons usually go here same as Linux
...\pythonVer\libs             #seems to hold MicroSoft specific py libs


Like Gabriel - my Linux is same as he describes.
               except I don't have a /usr/...ory/python
               in my case it's all in   /usr/local/lib/python2.5
                 to keep it all in one place
                 /usr/local/bin   has the soft links to run it
                 (reduces PATH size.  /usr/local/bin  already there)

Which shows how flexible Python is.


OH - something you mentioned that didn't seem to be addressed.
import - load a complete library
from   - obtain specific 'function'(s) from a library

(from mylib import fopen, fclose     or  from mylib import f*
                   one or more           gets fopen, fclose, etc

 from mylib import fopen as myfopen   can be useful  myfopen(...)
                                      won't be confused with the system
                                      fopen(...)
 which is great for not having to  MyVeryLongNameLib.fopen()  :)
)

The cautionary note here is, IF two libs have a function with the same name and 'from' is used to get it from each, you wind up the last one
requested.
To alleviate the problem you can open(...) or mylib.open(...) and thus access both (or even more) in the same program. Check the built-ins and the libs for name problems and use the techniques noted to get what you want.

Not sure what is in a given library?
import somelib
help(somelib)
  (and read)

When it come to showing off, Python has its moments!

HTH

Steve
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to