我有一个连接到多个计算节点的bash脚本,并根据调用bash脚本后输入的一些参数从每个脚本中提取数据。为了简便起见,我基本上是这样:将bash脚本输出的多个文件导入Python列表
for h in node{0..7}; do ssh $h 'fold -w 80 /program.headers | grep "RA"
| head -600 | tr -d "RA =" > '$h'filename'; done
我试图采取8个文件说出来的这个(各有600条信息),并各自保存为一个Python列表。然后我需要在Python中操作它们(分割并转换为浮点数),以便能够使用Matplotlib绘制数据。
对于bash脚本,只输出一个文件,我可以很容易使一个变量名等于check_output然后操纵从那里:
test = subprocess.check_output("./bashscript")
test_list = test.split()
test = [float(a) for a in test_list]
我也能够从我的bash脚本读取保存的文件通过使用:
test = subprocess.check_output(['cat', '/path/filename'])
test_list = test.split()
test = [float(a) for a in test_list]
问题是,我正在处理超过80个文件后,我得到所有我需要的。 Python中是否有某种方式可以说:“每个文件都将商店的内容作为列表进行存储”?
难道你不能一次获得文件并将它们存储在本地文件夹中;那么在它们在本地存在之后,使用Python对它们进行迭代?或者它们是动态创建的还是随着时间的推移而变化,这将需要一遍又一遍地重读它们? – ImportanceOfBeingErnest