2015-08-04 12 views

Odpowiedz

7

Musisz dowiedzieć się URL przy użyciu JavaScript i przekazać je do jądra ipython:

from IPython.display import HTML 
HTML(''' 
    <script type="text/javascript> 
     IPython.notebook.kernel.execute("URL = ' + window.location + "'") 
    </script>''') 

czyli

%%javascript 
IPython.notebook.kernel.execute("URL = '" + window.location + "'"); 

Następnie w następnej komórki:

print(URL) 

Następnie możesz użyć narzędzi w standardowej bibliotece (lub zwykłych operacjach na łańcuchach), aby wyciągnąć parametry zapytania.

+0

Zaznaczyłem to pytanie jak odpowiedziałem, zanim spróbowałem. Staram się, aby to działało. Zobacz http://stackoverflow.com/q/37172978/1698426. –

+0

Pracowałem z dodatkową podwójną kwotą: IPython.notebook.kernel.execute ("URL =" "+ window.location +" ""); – jdregister

+0

@jdregister dzięki za poprawkę. – akaihola

2

Wystarczy pobrać wartości za pomocą javascript i przesłać je do jądra ipython, tak jak w linku Johna Schmitta.

komórkowych [1]:

%%javascript 
function getQueryStringValue (key) 
{ 
    return unescape(window.location.search.replace(new RegExp("^(?:.*[&\\?]" + escape(key).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1")); 
} 
IPython.notebook.kernel.execute("Var1='".concat(getQueryStringValue("Variable1")).concat("'")); 
IPython.notebook.kernel.execute("Var2='".concat(getQueryStringValue("Variable2")).concat("'")); 

A w innej komórce można pobrać zmienne Pythona o nazwie Var1 i VAR2:

>>>print Var1 
Value1 

oraz:

>>>print Var2 
Value2 
Powiązane problemy