On 01/24/2012 04:05 PM, Jerry Hill wrote:

The os.path.exanduser() docs (
http://docs.python.org/library/os.path.html#os.path.expanduser ) say
that "On Windows, HOME and USERPROFILE will be used if set, otherwise
a combination of HOMEPATH and HOMEDRIVE will be used. An initial ~user
is handled by stripping the last directory component from the created
user path derived above."

So, my guess is that emacs is mangling your HOME environment variable.
  That appears to be confirmed by the emacs documentation here:
http://www.gnu.org/software/emacs/manual/html_node/emacs/General-Variables.html#General-Variables
.

At a guess, you do not have a system-wide HOME environment variable.
When you launch python from the command line, it uses either your
USERPROFILE setting, or is falling back to using HOMEDIRVE and
HOMEPATH.  When you launch emacs, it sees that HOME is not set, and
emacs helpfully sets it for you, to whatever path it thinks is
correct.  That would explain why you see different answers in
different environments.

Does that explain the behavior you're seeing?


Ah yes thanks for the explanation, on Python 2.7 on Linux I don't see
the same doc, it might have been updated later..
Anyway I just want to make sure that I get always the same path,
not depending on the program.

From a first look it seems that just using os.getenv('HOMEPATH') on
windows might make the trick..
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to