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