我需要使用python3將臨時文件寫入n * x機器,以便我可以從命令行讀取它。寫入臨時文件並從命令行讀取
import tempfile
import subprocess
from os import path
string = 'hi *there*'
# run markdown server-side
tfile = tempfile.NamedTemporaryFile(mode='w+', suffix='.txt', prefix='prove-math-')
tfile.write(string)
fpath = tfile.name
markdown_path = path.join(LIB_DIR, 'Markdown.pl')
command = [markdown_path, fpath]
completed_process = subprocess.run(command, check=True, stdout=subprocess.PIPE)
string = completed_process.stdout.decode()
tfile.close()
print(string)
輸出應該'<p>hi <em>there</em></p>'
,但實際產量爲'\n'
,這表明,我認爲Markdown.pl
讀取該文件的內容作爲'\n'
。
path.join?路在哪裏? –
@UbdusSamad編輯:'從os導入路徑'是在代碼中,但我忘記了在這裏包括它。現在修復。 – mareoraft
你試過tfile.flush()嗎? –