假设我有一个程序some_binary
可以读取数据:
some_binary < input
whereinput
通常是磁盘中的文件。我想从 Python发送input
到而不写入磁盘。some_binary
例如input
通常是具有以下内容的文件:
0 0.2
0 0.4
1 0.2
0 0.3
0 0.5
1 0.7
为了在 Python 中模拟类似的东西,我有:
import numpy as np
# Random binary numbers
first_column = np.random.random_integers(0,1, (6,))
# Random numbers between 0 and 1
second_column = np.random.random((6,))
我怎样才能像从命令行调用一样提供和的连接,并收集在first_column
一个字符串中?second_column
some_binary
some_binary < input
stdout
我有以下内容:
def run_shell_command(cmd,cwd=None,my_input):
retVal = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stdin=my_input, cwd=cwd);
retVal = retVal.stdout.read().strip('\n');
return(retVal);
但我不确定我是否朝着正确的方向前进。