如何通过在Windows上使用系统调用从python正确获取R sessionInfo()?

问题描述 投票:0回答:1

我想使用subprocess.call()在python脚本中打印出当前的R会话信息。我是subprocess.call()的新手,我调查了几个SO post从python访问R脚本,所以我尝试了相同的方法,但是我无法正确打印出当前的R会话信息。我正在使用Windows,并且正在从termianl打开jupyter笔记本。这是我尝试过的:

我的尝试

我只是想从python访问一些R内置函数(一些baseR函数,例如SO

sessionInfo()

但是这不能正确打印R会话信息,我得到的是import subprocess command = 'C:/Program Files/R/R-3.6.3/bin/Rscript' arg = '--vanilla' funcs = 'sessionInfo()' retcode = subprocess.call([command, arg, funcs], shell=True) 0。我认为我从python调用R内置函数的方式不正确。谁能给我看一个可行的解决方案来实现这一目标?我的尝试怎么了?如何从python脚本获取当前的R会话info()?如何从python访问R内置函数?任何想法?谢谢

python r subprocess
1个回答
0
投票

这对我有用:

1
# Python 3.7.6 (default, Dec 30 2019, 19:38:28) 
# [Clang 11.0.0 (clang-1100.0.33.16)] on darwin

import subprocess

subprocess.call([
  'Rscript',
  '--vanilla',
  '-e',
  'sessionInfo()'
])
© www.soinside.com 2019 - 2024. All rights reserved.