有没有办法在一行中运行多个 %run 语句?

And*_*cks 6 python databricks

我的 databricks python 笔记本中当前有多个 %run 语句,在多行中,一次运行它们时可以工作。我想知道是否有一种方法将它们合并到一个单元格中,这样我就不必单独运行每个单元格。我尝试过将它们放在一起但不断出现错误

%run {location of file}
%run {location of file}
...
%run {location of file}
Run Code Online (Sandbox Code Playgroud)

错误:

Failed to parse %run command: string matching regex `\$[\w_]+' expected but `%' found)
Run Code Online (Sandbox Code Playgroud)

以下是我根据 OneCricketeer 的建议进行的尝试。事实证明这个解决方案并不能解决问题。

notebooks = [
  ('{location of file}'),
  ('{location of file}'),
  ('{location of file}')]

for n in notebooks:
    dbutils.notebook.run(n,60)
    print('Finished loading notebook ' + n)
Run Code Online (Sandbox Code Playgroud)

cri*_*007 1

通常,%在任何单元中只有第一个“命令”是可执行的。

要以编程方式运行笔记本,请查看dbutils.notebook.run

例子

notebooks = [
   ('name', {'arg1': 'foo'}, ),
   ('other', {'arg1': 'bar'}, ) 
]

# for storing the values to call dbutils.notebook.exit function
notebook_ids = dict()

for n in notebooks:
    name = n[0]
    notebook_ids[name] = dbutils.notebook.run(name, 3600, n[1])
Run Code Online (Sandbox Code Playgroud)

  • 通常不需要导入“dbutils”,因为它在您的 databricks 环境中很容易使用。`dbutils.notebook.run(path = "<path_to_notebook_within_your_user_account">, argument=<dictionary_of_arguments>, timeout_seconds=<秒>)` (2认同)