Как расширить переменные среды в Python, как это делает bash?Python

Программы на Python
Ответить
Anonymous
 Как расширить переменные среды в Python, как это делает bash?

Сообщение Anonymous »

С помощью os.path.expandvars я могу развернуть переменные среды в строку, но с оговоркой: «Неверные имена переменных и ссылки на несуществующие переменные остаются неизменными» ( акцент мой). И кроме того, os.path.expandvars также расширяет экранированные \$.

Я хотел бы расширить переменные в стиле bash. , по крайней мере, в этих двух точках. Сравните:

Код: Выделить всё

import os.environ
import os.path
os.environ['MyVar'] = 'my_var'
if 'unknown' in os.environ:
del os.environ['unknown']
print(os.path.expandvars("$MyVar$unknown\$MyVar"))
что дает my_var$unknown\my_var с:

Код: Выделить всё

unset unknown
MyVar=my_var
echo $MyVar$unknown\$MyVar
что дает my_var$MyVar, и это то, что я хочу.

Подробнее здесь: https://stackoverflow.com/questions/307 ... -bash-does
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»