0

我正在尝试通过 subprocess.PIPE 管道输入文件:

我尝试的第一个管道正在工作,如下所示:

sanitizer_args = ['java', '-Xmx'+args.memory , '-cp', args.jar, 'org.genemania.plugin.apps.GeneSanitizer', '--data', args.dataset, '--organism', args.organism]
p = subprocess.Popen(sanitizer_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
sanitized, errors = p.communicate(input = sanitizer_input)

哪个工作正常 - 第二个以完全相同的方式失败:

query_args = ['java', '-Xmx'+args.memory, '-cp', args.jar, 'org.genemania.plugin.apps.QueryRunner', '--data', args.dataset, '--threads', args.threads, '--out', 'scores', '--results', args.results]
genequeryfile = '\n'.join([args.organism, final_querygenes, args.networks, '100', args.weighting])
q = subprocess.Popen(query_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
results, query_errors = q.communicate(input = genequeryfile)

我确实知道第二个子流程能够接受多个输入 - 这是否会影响我的问题?

在此先感谢您的帮助。

4

0 回答 0