J'ai un script python qui prend environ 5 arguments (un nom de fichier, 3 valeurs int et 2 valeurs flottantes). J'ai besoin d'appeler cela python de R . Comment puis-je faire cela. J'essaie d'utiliser rPython, mais cela ne me permet pas de passer l'argument
library("rPython")
python.load("python scriptname")
Je ne sais pas comment passer les arguments
à partir de la ligne de commande, j'exécute mon script python comme:
python scriptname filename 10 20 0.1 5000 30
Vous pouvez appeler une commande système
system('python scriptname')
Pour exécuter le script de manière asynchrone, vous pouvez définir l'indicateur d'attente sur false.
system('python scriptname filename 10 20 0.1 5000 30', wait=FALSE)
Les arguments qui sont passés comme ils le feraient en ligne de commande. Vous devrez utiliser sys.argv dans le code python pour accéder aux variables
#test.py
import sys
arg1 = sys.argv[1]
arg2 = sys.argv[2]
print arg1, arg2
La commande R ci-dessous afficherait "Bonjour tout le monde"
system('python test.py hello world', wait=FALSE)
Il y a une petite faute de frappe dans la grande réponse précédente. Le bon code est le suivant:
system('python test.py hello world', wait = FALSE)
où attendre est FAUX (pas attendre = Flase ou attendre = Faux)