Je veux juste appeler deux commandes matlab de Python: la commande fist ajoute juste le dossier et les sous-dossiers du chemin désiré (addpath(genpath('c:/file1/file2'))
), tandis que la seconde commande appelle la fonction que je veux à utiliser (myfunction.m
).appeler plusieurs commandes matlab de python en utilisant os.system
J'ai toujours utilisé os.system("command")
quand je avais besoin d'appeler une fonction et os.system("command1 | command2")
quand je voulais appeler deux fonctions, par exemple, j'ai donc essayé:
os.system("matlab -r addpath(genpath('c:/file1/file2')) | matlab -r myfunction")
Mais évidemment, cela ouvre deux fenêtres de Matlab, le premier pour le premier commandement et le second pour le second commandement. Ce que je veux, c'est appeler les deux commandes dans la même fenêtre, l'une après l'autre. Cependant, si j'essaie simplement:
os.system("matlab -r addpath(genpath('c:/file1/file2')) -r myfunction")
ça ne fonctionne pas ... Il effectue la première commande (addpath
), mais il ne remet pas la fonction ....
Ce que je fais mal ?? Une idée sur la façon de faire ça ?? J'ai lu beaucoup de messages mais ils n'étaient pas très utiles, même si c'est un cas très simple.
Merci d'avance les gars !! Je vous remercie de votre aide
Merci beaucoup @Amro !! Cela fonctionne parfaitement! :) Il donne une fenêtre de commande matlab différente de la normale, mais ce n'est pas un problème :) – anna
@ user2252592: c'est l'option '-nodesktop', vous pouvez le supprimer si vous le souhaitez. Voici les pages de documentation pour toutes les options de ligne de commande: http://www.mathworks.com/help/matlab/ref/matlabwindows.html, http://www.mathworks.com/help/matlab/ref/matlabunix.html – Amro