Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #68415
| From | Ben Finney <ben+python@benfinney.id.au> |
|---|---|
| Subject | Re: Correct idiom for determining path when frozen in 3.4 |
| Date | 2014-03-17 20:02 +1100 |
| References | <8a0ca549-7bce-4210-8f9e-3465a769fc3c@googlegroups.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.8180.1395046954.18130.python-list@python.org> (permalink) |
Mark Summerfield <list@qtrac.plus.com> writes:
> What is the correct idiom for getting the path to a top-level module
I'm not sure I understand what this concept is. What do you mean by
“top-level module”?
> in 3.3 and 3.4 when the module might be frozen?
>
> At the moment I'm using this:
>
> if getattr(sys, "frozen", False):
> path = os.path.dirname(sys.executable)
> else:
> path = os.path.dirname(__file__)
That looks okay. Does it work?
The code is readable and Pythonic as is. But I would suggest several
improvements::
if getattr(sys, "frozen"): # ‘getattr’ will return None by default
Also, why test for “sys.frozen” when you're about to use
“sys.executable”?
if getattr(sys, "executable"):
Lastly, it's slightly more Pythonic to execute the normal path
unconditionally, and let it raise an exception if there's a problem::
try:
executable = sys.executable
except AttributeError:
executable = __file__
path = os.path.dirname(executable)
--
\ “It is far better to grasp the universe as it really is than to |
`\ persist in delusion, however satisfying and reassuring.” —Carl |
_o__) Sagan |
Ben Finney
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Correct idiom for determining path when frozen in 3.4 Mark Summerfield <list@qtrac.plus.com> - 2014-03-17 01:44 -0700
Re: Correct idiom for determining path when frozen in 3.4 Ben Finney <ben+python@benfinney.id.au> - 2014-03-17 20:02 +1100
Re: Correct idiom for determining path when frozen in 3.4 Devin Jeanpierre <jeanpierreda@gmail.com> - 2014-03-17 02:16 -0700
Re: Correct idiom for determining path when frozen in 3.4 Ben Finney <ben+python@benfinney.id.au> - 2014-03-17 20:23 +1100
Re: Correct idiom for determining path when frozen in 3.4 Oscar Benjamin <oscar.j.benjamin@gmail.com> - 2014-03-17 09:52 +0000
Re: Correct idiom for determining path when frozen in 3.4 Mark Summerfield <list@qtrac.plus.com> - 2014-03-17 08:31 -0700
Re: Correct idiom for determining path when frozen in 3.4 Zachary Ware <zachary.ware+pylist@gmail.com> - 2014-03-17 11:03 -0500
csiph-web