Skip to content Skip to sidebar Skip to footer

Python Os.path.expandvars Only Works For Some Variables

Running os.path.expandvars fails for some env variables. Seems too basic to be real. $ echo $HOSTTYPE x86_64 $ echo $HOME /labhome/eladw $ python -c 'import os; print os.path

Solution 1:

Environment variables set in a shell are not automatically exported to subprocesses. Just because your shell has a HOSTTYPE variable, doesn't mean this is variable is visible to subprocesses.

Export the variable first:

$ export HOSTTYPE

You can combine setting and exporting a variable in one step with:

$ export HOSTTYPE=x86_64

Demo:

$ HOSTTYPE=x86_64$ python -c 'import os; print os.path.expandvars("$HOSTTYPE")'$HOSTTYPE$ export HOSTTYPE$ python -c 'import os; print os.path.expandvars("$HOSTTYPE")'
x86_64

See Difference between environment variables and exported environment variables in bash.

Post a Comment for "Python Os.path.expandvars Only Works For Some Variables"