将百分号传递给表示魔术函数的字符串变量

时间:2018-12-05 15:10:01

标签: python jupyter-notebook

如何将字符串变量中的%传递到执行该变量的另一个单元格?

我将一些代码定义为字符串,并将其存储在变量中,该变量具有一个以百分号开头的魔术函数。

我将此字符串传递给另一个要执行该字符串中包含的代码的单元格。

魔术函数中使用的百分号给我一些问题。符号会正确显示在创建的字符串中,但是执行会在%所在的位置中断。

有一个例子:
单元_1:

string_variable = '%dirs'

Cell_2

print(string_variable)
output:
%dirs

Cell_3

exec(string_variable)

Error: % Invalid Syntax

我尝试了类似/% %%之类的方法,但没有人起作用。

1 个答案:

答案 0 :(得分:1)

Python不会让您在execute函数中使用%,因为它标记了指定符的开始(信息here)。如果要在Jupiter笔记本中使用魔术功能,则需要导入功能,然后使用字符串调用它们。有不同的方法可以做到这一点,但是下面是一种方法。

public void ConfigureServices(IServiceCollection services)
{
   services.AddScoped<IMyService, MyService>();
   services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}

您也应该签出此question