Python 如何将带有参数名的函数参数传递给R中的外部程序?
比如说,Python 如何将带有参数名的函数参数传递给R中的外部程序?,python,r,Python,R,比如说, passpara = function(pa, pb, pc) { # pa is not passed do1(pa) # pb and pc are passed # passed == "--pb pb_value --pc pc_value" # getpass is something I am trying to figure out passed = getpass(pb, pc) system(paste("cmd
passpara = function(pa, pb, pc) {
# pa is not passed
do1(pa)
# pb and pc are passed
# passed == "--pb pb_value --pc pc_value"
# getpass is something I am trying to figure out
passed = getpass(pb, pc)
system(paste("cmd", passed))
}
具体来说,如下调用passpara
:
passpara(pa="dummy", pb="full-iso", pc="always")
应等同于在shell中调用此命令:
cmd --pb full-iso --pc always
在这种情况下,函数getpass
是什么样子的
我还认为系统
函数有时很不方便,因为它接收一个字符串,而您
必须手动分隔参数,
在R中是否有类似于python的subprocess.call()
?
在python中,您可以执行子流程调用([“cmd”,parameter1,parameter2,parameter3])
和
它将自动分隔参数,如果参数是字符串,这非常方便
包含空白的。请定义“不便”,并尝试提供完整且可复制的示例。我们不知道变量
pa
、pb
、pc
是什么,也不知道do1()
和getpass()
应该做什么
system()
调用,就像pipe()
调用一样,允许您使用您认为合适的参数调用可执行文件。我想我已经在这里发布了答案,使用awk
或sed
作为read.csv()之前的过滤器
下面是一个简短的例子
R> head(readLines(pipe("cut -f2 -d, CRAN_mirrors.csv")))
[1] "Country" "0-Cloud" "Argentina" "Argentina" "Australia" "Australia"
R>
其中,我们使用一个参数字符串来pipe()
;它使用选项和命令
编辑:您修改后的问题的答案可能只需一句话:
R> passpara <- function(pa, pb, pc) sprintf("cmd --pb %s --pc %s", pb, pc)
R> passpara(pa="dummy", pb="full-iso", pc="always")
[1] "cmd --pb full-iso --pc always"
R>
请定义“不方便”,并尝试提供完整且可复制的示例。我们不知道变量pa
、pb
、pc
是什么,也不知道do1()
和getpass()
应该做什么
system()
调用,就像pipe()
调用一样,允许您使用您认为合适的参数调用可执行文件。我想我已经在这里发布了答案,使用awk
或sed
作为read.csv()之前的过滤器
下面是一个简短的例子
R> head(readLines(pipe("cut -f2 -d, CRAN_mirrors.csv")))
[1] "Country" "0-Cloud" "Argentina" "Argentina" "Australia" "Australia"
R>
其中,我们使用一个参数字符串来pipe()
;它使用选项和命令
编辑:您修改后的问题的答案可能只需一句话:
R> passpara <- function(pa, pb, pc) sprintf("cmd --pb %s --pc %s", pb, pc)
R> passpara(pa="dummy", pb="full-iso", pc="always")
[1] "cmd --pb full-iso --pc always"
R>
请定义“不方便”,并尝试提供完整且可复制的示例。我们不知道变量pa
、pb
、pc
是什么,也不知道do1()
和getpass()
应该做什么
system()
调用,就像pipe()
调用一样,允许您使用您认为合适的参数调用可执行文件。我想我已经在这里发布了答案,使用awk
或sed
作为read.csv()之前的过滤器
下面是一个简短的例子
R> head(readLines(pipe("cut -f2 -d, CRAN_mirrors.csv")))
[1] "Country" "0-Cloud" "Argentina" "Argentina" "Australia" "Australia"
R>
其中,我们使用一个参数字符串来pipe()
;它使用选项和命令
编辑:您修改后的问题的答案可能只需一句话:
R> passpara <- function(pa, pb, pc) sprintf("cmd --pb %s --pc %s", pb, pc)
R> passpara(pa="dummy", pb="full-iso", pc="always")
[1] "cmd --pb full-iso --pc always"
R>
请定义“不方便”,并尝试提供完整且可复制的示例。我们不知道变量pa
、pb
、pc
是什么,也不知道do1()
和getpass()
应该做什么
system()
调用,就像pipe()
调用一样,允许您使用您认为合适的参数调用可执行文件。我想我已经在这里发布了答案,使用awk
或sed
作为read.csv()之前的过滤器
下面是一个简短的例子
R> head(readLines(pipe("cut -f2 -d, CRAN_mirrors.csv")))
[1] "Country" "0-Cloud" "Argentina" "Argentina" "Australia" "Australia"
R>
其中,我们使用一个参数字符串来pipe()
;它使用选项和命令
编辑:您修改后的问题的答案可能只需一句话:
R> passpara <- function(pa, pb, pc) sprintf("cmd --pb %s --pc %s", pb, pc)
R> passpara(pa="dummy", pb="full-iso", pc="always")
[1] "cmd --pb full-iso --pc always"
R>
在回答您关于系统的投诉时,帮助页面系统
在“另请参见:”部分中提到了system2
功能。system2
函数要求命令作为第一个参数,然后命令参数的字符向量作为第二个参数。因此,与python显示的内容不完全相同,但类似,您可以将其称为:
system2("cmd", c(parameter1, parameter2, parameter3) )
在回答您关于系统的投诉时,帮助页面系统
在“另请参见:”部分中提到了system2
功能。system2
函数要求命令作为第一个参数,然后命令参数的字符向量作为第二个参数。因此,与python显示的内容不完全相同,但类似,您可以将其称为:
system2("cmd", c(parameter1, parameter2, parameter3) )
在回答您关于系统的投诉时,帮助页面系统
在“另请参见:”部分中提到了system2
功能。system2
函数要求命令作为第一个参数,然后命令参数的字符向量作为第二个参数。因此,与python显示的内容不完全相同,但类似,您可以将其称为:
system2("cmd", c(parameter1, parameter2, parameter3) )
在回答您关于系统的投诉时,帮助页面系统
在“另请参见:”部分中提到了system2
功能。system2
函数要求命令作为第一个参数,然后命令参数的字符向量作为第二个参数。因此,与python显示的内容不完全相同,但类似,您可以将其称为:
system2("cmd", c(parameter1, parameter2, parameter3) )
抱歉,但是这个问题与Python有什么关系?我问的是R中是否有一个类似于Python的特性。抱歉,但是这个问题与Python有什么关系?我问的是R中是否有一个类似于Python的特性。抱歉,但是这个问题与Python有什么关系?我问的是R中是否有一个类似于Python的特性。抱歉,但是这个问题与Python有什么关系呢?我想问的是,R中是否有一个类似于Python的特性。不是这样。想象一下,我这样做是为了实现您提出的功能:passpara(pa=“dummy”,pb=“我有空格”,pc=“更多空格”)
所以我的