Re: include statement

2006-09-20 Thread Gabriel Genellina

At Wednesday 20/9/2006 03:50, [EMAIL PROTECTED] wrote:


My application has a configuration file where lots of variables are
set. (The configuration file is python source, so there is no
home-brewed parsing involved.) The configuration file is starting to
get quite large and unwieldy, so for this reason I would like to split
it in several files.

I know I could do:
from configA import *
from configB import *

But I felt that the import statemant was 'more' than I wanted. Maybe I
am just pedantic.


You can limit the range of "from...import *" declaring a __all__ 
variable in the imported module; this way you import exactly what is 
needed (and the rest is kept as "private")




Gabriel Genellina
Softlab SRL 






__
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya! 
http://www.yahoo.com.ar/respuestas


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

Re: include statement

2006-09-20 Thread Larry Bates
[EMAIL PROTECTED] wrote:
> Thanks to all who took time to answer!
> 
> 
>>> is it possible in python to include another python source file into the
>>> current namespace, i.e.completely analogous to the #include statement
>>> in C.
> 
> [...]
> 
>> Tell us why you are contemplating such a thing, and someone
>> here will help you implement it the "Pythonic" way.
> 
> My application has a configuration file where lots of variables are
> set. (The configuration file is python source, so there is no
> home-brewed parsing involved.) The configuration file is starting to
> get quite large and unwieldy, so for this reason I would like to split
> it in several files.
> 
> I know I could do:
> from configA import *
> from configB import *
> 
> But I felt that the import statemant was 'more' than I wanted. Maybe I
> am just pedantic.
> 
> Regards
> 
> Joakim
> 
I might also suggest that you consider using ConfigParser module to store
your "variables".  If you are worried about performance, I can tell you that
I use it to feed thousands of lines of configuration info into one of my
applications (this app has 5 of these files) and ConfigParser handles them
so quickly that performance is NOT a problem.  The format of the file is
easily understandable by nearly every user which means I don't have to
worry with someone not understanding Python's syntax.  If someone gets
something wrong in a file that gets included, it is harder to take a sane
default or handle the error than with ConfigParser.  Just a suggestion that
I hope helps.

-Larry Bates

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


Re: include statement

2006-09-20 Thread Bruno Desthuilliers
[EMAIL PROTECTED] wrote:
> Thanks to all who took time to answer!
> 
> 
>>> is it possible in python to include another python source file into the
>>> current namespace, i.e.completely analogous to the #include statement
>>> in C.
> 
> [...]
> 
>> Tell us why you are contemplating such a thing, and someone
>> here will help you implement it the "Pythonic" way.
> 
> My application has a configuration file where lots of variables are
> set. (The configuration file is python source, so there is no
> home-brewed parsing involved.) The configuration file is starting to
> get quite large and unwieldy, so for this reason I would like to split
> it in several files.
> 
> I know I could do:
> from configA import *
> from configB import *
> 
> But I felt that the import statemant was 'more' than I wanted. Maybe I
> am just pedantic.

Maybe... "import" is the very appropriate statement for what you want
here IMVHO. I'd just put the config.py files into a 'config'
directory, add an __init__.py, and put the 'from configX import *'
there. Then in the app code, a simple 'import config', which allow acces
to config vars via 'config.varname' (clean namespaces really improve
maintainability).

My 2 cents

> Regards
> 
> Joakim
> 


-- 
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in '[EMAIL PROTECTED]'.split('@')])"
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: include statement

2006-09-20 Thread Peter Otten
[EMAIL PROTECTED] wrote:

> Thanks to all who took time to answer!
> 
> 
>> > is it possible in python to include another python source file into the
>> > current namespace, i.e.completely analogous to the #include statement
>> > in C.
> 
> [...]
> 
>> Tell us why you are contemplating such a thing, and someone
>> here will help you implement it the "Pythonic" way.
> 
> My application has a configuration file where lots of variables are
> set. (The configuration file is python source, so there is no
> home-brewed parsing involved.) The configuration file is starting to
> get quite large and unwieldy, so for this reason I would like to split
> it in several files.
> 
> I know I could do:
> from configA import *
> from configB import *
> 
> But I felt that the import statemant was 'more' than I wanted. Maybe I
> am just pedantic.

Maybe you like execfile() which would allow you to collect the configuration
files without the need for them to be reachable through the import
mechanism.

pattern = os.path.expanduser("~/.herron/config*.py")

for fn in glob.glob(pattern):
execfile(fn)

# objects in the config*.py files now
# share one namespace.

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


Re: include statement

2006-09-19 Thread joakim . hove
Thanks to all who took time to answer!


> > is it possible in python to include another python source file into the
> > current namespace, i.e.completely analogous to the #include statement
> > in C.

[...]

> Tell us why you are contemplating such a thing, and someone
> here will help you implement it the "Pythonic" way.

My application has a configuration file where lots of variables are
set. (The configuration file is python source, so there is no
home-brewed parsing involved.) The configuration file is starting to
get quite large and unwieldy, so for this reason I would like to split
it in several files.

I know I could do:
from configA import *
from configB import *

But I felt that the import statemant was 'more' than I wanted. Maybe I
am just pedantic.

Regards

Joakim

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


Re: include statement

2006-09-19 Thread MonkeeSage
[EMAIL PROTECTED] wrote:
> Hello,
>
> is it possible in python to include another python source file into the
> current namespace, i.e.completely analogous to the #include statement
> in C.
>
> Regards Joakim

from blah import * # where blah is a blah.py file in sys.path

Also see:

http://pyref.infogami.com/import
http://effbot.org/zone/import-confusion.htm
http://docs.python.org/tut/node8.html

Regards,
Jordan

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


Re: include statement

2006-09-19 Thread Ravi Teja
> is it possible in python to include another python source file into the
> current namespace, i.e.completely analogous to the #include statement
> in C.

By using a pre-processor, like C does.
http://www.freenet.org.nz/python/pyp/

If you are new to Python, keep in mind that this is for special cases
only. Since Python has a module system, there isn't a need for #include
as in C.

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


Re: include statement

2006-09-19 Thread Gary Herron
[EMAIL PROTECTED] wrote:
> Hello,
>
> is it possible in python to include another python source file into the
> current namespace, i.e.completely analogous to the #include statement
> in C.
>
> Regards Joakim
>
>   
No (thank heavens)!  We left #include and other such primitive 
functionality back with the dinosaurs (C and its relatives) when we 
moved into the world of tje modern sophisticated programming language 
Python.  Tell us why you are contemplating such a thing, and someone 
here will help you implement it the "Pythonic" way.

Gary Herron

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


include statement

2006-09-19 Thread joakim . hove
Hello,

is it possible in python to include another python source file into the
current namespace, i.e.completely analogous to the #include statement
in C.

Regards Joakim

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