Je calculais les descripteurs de fonction dans HoG Octave puis je suis en train de regrouper ces données dans Python à l'aidescikit-learn. Pour tester mon code dans Python J'essaie de transmettre une donnée 4000x2 à Python. J'appelle le script Python de Octave en utilisantNe peut pas transmettre des données d'octave en python par des arguments de ligne de commande
system('python filename.py data')
puis essayer d'obtenir les données à l'aide
sys.argv
mais je reçois le second argument comme une chaîne 'données' et pas les données 4000x2 que je passe de Octave
Que dois-je faire pour que je puisse obtenir les données originales dans Python et non seulement la chaîne « données »
Je ne connais pas Octave mais probablement parce que vous utilisez des guillemets simples ''python filename.py data'' la fonction système le prend comme une chaîne. Je ne sais pas si vous pouvez passer au système quelque chose comme 'system ('python filename.py' + data)' Vous devez dire 'system' que' data' est une variable, pas une chaîne. – fvidalmolina
Vous pouvez également envisager d'écrire vos données dans un fichier dans un format commun comme csv à partir de votre script octave (https://octave.sourceforge.io/octave/function/csvwrite.html), puis y accéder à partir de votre script python. – voidpointercast
@fvidalmolina La méthode que vous avez décrite ne fonctionne pas car python tente de concaténer les données sous la forme d'une chaîne à la chaîne 'python filename.py' – Siladittya