0
我有一个jar文件,我可以发送数据进行处理,数据是json格式。 data_path
是具有数据的文件的路径。下面的工作很棒..但是我拥有的数据不会是一个文件,而是一个变量。下面的命令不能用于变量,它会尝试读取作为文件目录路径传递给文件的数据。它是不同的bash命令吗?或者我可以用子进程模块做些什么?谢谢!Python - 将数据传递给jar文件作为输入流
import subprocess as sub
cmd = "java -jar %s < %s" % (jar_path, data_path)
# send data in a var
# cmd = "java -jar %s < %s" % (jar_path, data)
proc = sub.Popen(cmd, stdin=sub.PIPE, stdout=sub.PIPE, shell=True)
(out, err) = proc.communicate()
谢谢,我想避免写入文件,以消除任何额外的处理时间。但是,如果我找不到办法,我可能会使用这种方法。顺便说一句我没有意识到这个临时文件函数,所以谢谢你... – t0x13
我会认为一次写入文件所花费的时间是可以忽略的,因为你已经开始对命令进行脱壳。 – jdi
好吧,你可能是对的:) – t0x13