我有一个可执行的 jar,它将一些信息打印到屏幕上。我想从输出中捕获一个特定的数字,即成本。例如,有一行“Cost = 10”,当我运行 jar 文件 N 次时,我想有一个成本列表。我想用 python 脚本自动化这个过程,但由于我是 Python 新手,我不知道在 Python 脚本中从 stdout 中提取一些数据的最佳方法。完成这项任务的最佳方法是什么?
def wrapper(*args):
process = Popen(list(args), stdout=subprocess.PIPE)
process.communicate()
return process
linkFileList = [ join(linkDir,f) for f in listdir(linkDir) if isfile(join(linkDir,f)) ]
nodeFileList = [ join(nodeDir,f) for f in listdir(nodeDir) if isfile(join(nodeDir,f)) ]
pairFileList = [ join(pairDir,f) for f in listdir(pairDir) if isfile(join(pairDir,f)) ]
size = len(linkFileList)
for count in range(0, size):
x = wrapper('java', '-jar', 'C:\\Users\\fatma\\Documents\\workspace\\HeuristicRunnable.jar', nodeFileList[count], linkFileList[count], pairFileList[count])