[英]How to send a string with spaces from Python to Bash sub-process as a single value?
[英]How to pass single String value from Python sub-process code to R Code
我正在尝试使用 Subprocess 库从 Python 运行 R 代码。 我需要从 python 运行 one.R 文件并传递一个字符串值 (args = ["INV28338"])。 我是 R 的新手,因此无法在 R 和 Python 中找出确切的数据类型转换代码。
请有人帮助我,如何将单个字符串/标量值从 Python 传递到 R 函数/模型? 稍后我将为这段代码给出“Flask REST API”的形状。
非常感谢你提前
import subprocess
command = 'Rscript'
path2script = 'classification_model_code.R'
args = ["INV28338"]
cmd = [command, path2script] + args
x = subprocess.check_output(cmd, universal_newlines=True)
print('The Output is:', x)
myArgs <- commandArgs(trailingOnly = TRUE)
nums = as.numeric(myArgs)
invoice_in_scope<-nums
#Followed by more code
我的脚本,test2.R
myArgs <- commandArgs(trailingOnly = TRUE)
nums = as.character(myArgs)
print(nums)
您需要将args
作为列表的一部分,因此将其附加到cmd
并且它可以正常工作:
import subprocess
command = 'Rscript'
path2script = './test2.R'
args = "INV28338"
cmd = [command, path2script]
cmd.append(args)
x = subprocess.check_output(cmd, universal_newlines=True)
print('The Output is:', x)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.