Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #58003
| From | Ben Finney <ben+python@benfinney.id.au> |
|---|---|
| Subject | Re: Sharing common code between multiple scripts? |
| Date | 2013-10-30 15:31 +1100 |
| References | <b14a6822-dab5-4688-a5aa-3a8afae40aa0@googlegroups.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.1791.1383107520.18130.python-list@python.org> (permalink) |
Victor Hooi <victorhooi@gmail.com> writes:
> NB - I'm the original poster here - https://groups.google.com/d/topic/[…]
That is not the correct URL to a discussion on this forum. The official
archives are at <URL:https://mail.python.org/pipermail/python-list/>, so
that's the correct place to look for a canonical URL to your message.
> I'd like to pull them out, and move them to a common module for all
> the scripts to import.
Great! This is modular programming, and is good practice.
> Originally, I thought I'd create a package, and have it all work:
>
> my_package
> __init__.py
> common/
> my_functions.py
You should make ‘common/’ a package directory, by creating
‘common/__init__.py’.
> script1/
> __init__.py
> config.yaml
> script1.py
> script2/
> __init__.py
> config.yaml
> script2.py
>
> However, there apparently isn't an easy way to have script1.py and
> script2.py import from common/my_functions.py.
Once ‘common/’ is a package directory, you can::
from ..common import my_functions
> So my new question is - what is the idiomatic way to structure this in
> Python, and easily share common functions between the scripts?
Put your modules into one or more packages.
Make sure each subdirectory of modules is a package.
Use explicit relative imports within your application.
Use absolute imports for shared libraries (ones shared between different
applications).
--
\ “Any sufficiently advanced bug is indistinguishable from a |
`\ feature.” —Rich Kulawiec |
_o__) |
Ben Finney
Back to comp.lang.python | Previous | Next — Previous in thread | Find similar | Unroll thread
Sharing common code between multiple scripts? Victor Hooi <victorhooi@gmail.com> - 2013-10-29 20:58 -0700 Re: Sharing common code between multiple scripts? Ben Finney <ben+python@benfinney.id.au> - 2013-10-30 15:31 +1100
csiph-web