Je suis nouveau dans le codage, j'ai donc une question concernant Jupyter Notebook et l'utilisation de Javascript. Un extrait de mon code actuel est le suivant (truename est défini avant ce code et pickle.dump
est généralement tabulé, mais pas ici en raison de la pile de mise en forme de débordement):Comment exécuter javascript sans nom de fichier
%%javascript
var kernel = Jupyter.notebook.kernel;
console.log(kernel);
var command = "import pickle" + "\n" + "file_name = 'testfile'" + "\n" + "with open(file_name, 'wb') as my_file_obj:" + "\n" + "pickle.dump(trueName,my_file_obj)";
kernel.execute(command);
Cela fonctionne bien, mais pour une raison quelconque lorsque je le place dans le format suivant:
from IPython.core.display import Javascript
Javascript("""
var kernel = Jupyter.notebook.kernel;
console.log(kernel);
var command = "import pickle" + "\n" + "file_name = 'testfile'" + "\n" + "with open(file_name, 'wb') as my_file_obj:" + "\n" + " "pickle.dump(trueName,my_file_obj)";
kernel.execute(command);""")
j'obtiens l'erreur suivante même si le code est le même:
Javascript error adding output! SyntaxError: Invalid or unexpected token See your browser Javascript console for more details.
je l'avais espéré utiliser la deuxième méthode pour contourner la barrière de la commande magique en utilisant quelque chose de similaire à !ipython somefile.ipy
lire le javascript, mais pour une raison quelconque la deuxième méthode ne vraiment pas var command
quelque chose que j'ai découvert après beaucoup de tests. J'ai quelques questions que je serais très heureux si je recevais des commentaires sur:
- Pourquoi la deuxième méthode de fournir une erreur due à mon
var command
? Je ne peux pas comprendre pourquoi cela se produit. (Est-il vrai que je dois utiliser 'textarea'? Si oui, comment je fais cela? Je me suis perdu en essayant de le faire moi-même: How to force a line break on a Javascript concatenated string?) - Y at-il une méthode pour moi pour exécuter Javascript magique quand pas directement dans le cahier? J'ai essayé d'exécuter ipython sur le code dans un fichier séparé avec la fin
.ipy
comme vu ci-dessus, mais il n'aime pas exécuter la magie de la cellule ni l'importation de IPython.core.display. (Cette méthode ne fonctionne pas pour moi: How to run an IPython magic from a script (or timing a Python script)) - Y at-il un moyen pour moi d'exécuter le code Javascript directement (pas via un fichier) lors de l'utilisation d'une fonction telle que
def run_javascript(code):
? L'exécution d'une cellule dans Jupyter renvoie le code sous l'argumentcode
, mais je ne peux pas savoir comment l'exécuter. J'ai regardé autour mais les seules réponses que j'ai trouvées sont environ!node somefile.js
et d'autres codes Javascript basés par nom de fichier semblables. J'apprécierais toute aide! J'ai eu quelques suggestions quant à la façon d'exécuter du code python comme je voudrais, mais depuis IPython ne fonctionne pas avec le Javascript, je suis à une perte (Conseils Python: run a python script in terminal without the python commandExecute python commands passed as strings in command line using python -c)