Как передать переменную сценария оболочки на python в блоках данных

В настоящее время я пытаюсь использовать переменную сценария оболочки в python.

Ниже приведен код.

%sh
export MY_VAR = "my_value"
echo $MY_VAR
%python
import os
my_var = os.environ.get("MY_VAR")
print(my_var)

Скриншот кода

Я получаю значение в сценарии оболочки, но когда я пытаюсь получить значение с помощью python os.environ.get("MY_VAR"), я получаю как None

Может ли кто-нибудь помочь мне решить вышеуказанную проблему.

Вы не показываете, как вы вызываете свою программу Python из сценария оболочки.

user1934428 30.03.2023 14:25
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
1
72
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Код на разных языках выполняется в разных контекстах, вы не можете совместно использовать переменные среды между оболочкой и Python или переменные между Python и Scala и т. д.

Вы можете использовать файловую систему для передачи данных.

%sh
echo "my_value" >/tmp/foo

%python
from pathlib import Path
my_var = Path("/tmp/foo").read_text()
print(my_var)

Некоторые другие идеи в этой статье: https://medium.com/@robin.loche/how-to-work-with-multiple-languages-on-databricks-e22dea9f8c7

Я согласен с вами

Sharma 30.03.2023 13:30

Другие вопросы по теме