如何在azure databricks笔记本中将%python cmd中的python变量传递给外壳脚本%sh。?
答案 0 :(得分:1)
根据我的经验,有两种解决方法可以针对当前情况将Python变量传递给Bash脚本。
这是我在笔记本中使用Python3的示例代码。
要在Azure Databricks Notebook的同一shell会话中通过环境变量传递少量数据,如下所示。
%python
import os
l = ['A', 'B', 'C', 'D']
os.environ['LIST'] = ' '.join(l)
print(os.getenv('LIST'))
%%bash
for i in $LIST
do
echo $i
done
如下图所示。
要通过文件在Azure Databricks Notebook的当前路径中传递大数据,如下所示。
%python
with open('varL.txt', 'w') as f:
for elem in l:
f.write(elem+'\n')
f.close()
%%bash
pwd
ls -lh varL.txt
echo '=======show content=========='
cat varL.txt
echo '=====result of script========'
for i in $(cat varL.txt)
do
echo $i
done
如下图所示。