如何将 python 变量传递给 azure databricks notebookbles 中的 shell 脚本?
How to pass a python variables to shell script in azure databricks notebookbles.?
如何将 python 变量从 %python cmd 传递到 shell 脚本 %sh,in azure databricks notebook..?
根据我的经验,对于您当前的情况,有两种解决方法可以将 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
效果如下图
如何将 python 变量从 %python cmd 传递到 shell 脚本 %sh,in azure databricks notebook..?
根据我的经验,对于您当前的情况,有两种解决方法可以将 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
效果如下图