Reputation: 491
I'd like to get shell variable content to be used within a python script, specifically to get path out of it to be used later for a function call to a python script located at another directory, using sys.path.insert
Let's assume my shell variable is called SHELL_VAR1
, and I want to concatenate to it /scripts
folder name, so I get flow like that - using in this example os.environ.get
just to illustrate my need in case it was environment variable and not a shell variable - and the question is what should be used instead:
python -c 'import os; import sys;var1=os.environ.get('SHELL_VAR1'); sys.path.insert(1, 'var1' ''/scripts'');'
Upvotes: 0
Views: 390
Reputation: 19260
A shell variable and environment variable are the same thing, in my understanding.
You can use pathlib
for OS-agnostic filepath operations (like joining filepaths).
import os
from pathlib import Path
import sys
# This will raise a KeyError if the key is not in os.environ.
var1 = os.environ["SHELL_VAR1"]
path = Path(var1) / "scripts"
sys.path.insert(1, str(path))
Upvotes: 1