![](/img/trans.png)
[英]How to pass single String value from Python sub-process code to R Code
[英]How to send a string with spaces from Python to Bash sub-process as a single value?
我正在尝试将一个变量从python脚本发送到bash脚本。 我正在使用如下所示的popen
:
subprocess.Popen(["bash", "-c", ". mainGui_functions.sh %d %s" % (commandNum.get(), entryVal)])
但是, entryVal
有时可以包含一个或多个空格字符。 在这种情况下,我将字符串分成多个参数($ 2,$ 3 ..)
我怎么能在一个论点中得到它?
简单的解决方案#1:如果您在命令行上输入输入,那么就像执行此操作一样; 把它放在引号中:
subprocess.Popen(["bash", "-c", ". mainGui_functions.sh {} '{}'".format(commandNum.get(), entryVal)])
简单的解决方案#2:如果mainGui_functions.sh
已经是可执行的,那么你可以直接省略bash
部分和pas args。 在这种情况下, subprocess
负责确保将具有空格的条目作为单个arg结束:
subprocess.Popen(["mainGui_functions.sh", str(commandNum.get()), entryVal])
在bash命令行中添加引号 - 例如,
subprocess.Popen(['bash', '-c', '. mainGui_functions.sh %d "%s"' % (commandNum.get(), entryVal)])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.