如何在databricks中将shell脚本变量传递给python

n3ipq98p  于 2023-04-07  发布在  Shell
关注(0)|答案(1)|浏览(172)

我正在尝试在Python中使用shell脚本变量。
下面是代码。

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

代码截图

我在shell脚本中获取值,但当我尝试使用python os.environ.get("MY_VAR")获取值时,我获取的是None
谁能帮我解决一下上面的问题。

bnl4lu3b

bnl4lu3b1#

不同语言的代码在不同的上下文中运行,你不能在shell和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

相关问题