2017-06-21 35 views
0

我正在創建一個文本文件,並立即調用基於文本文件做一些計算的子進程。寫入一個文件並從python中的子進程中讀取它?

當我自己調用子進程時,它能夠按照預期從文件讀取數據,但是當我嘗試創建文件並立即寫入文件時,它無法從文件讀取數據。

f = open('name_data.txt', 'w') 
f.write(name) 
f.close() 

cmd = ['g2p-seq2seq', '--decode', 'name_data.txt', '--model', 'g2p-seq2seq-cmudict'] 
process = subprocess.Popen(cmd, stdout=subprocess.PIPE) 
process.wait() 
#etc.... 

回答

0
import subprocess 
open("Edited.py", "w").write("Thing To Write") 
A = subprocess.Popen('Command you want to call', shell = True, stdout = subprocess.PIPE, stderr = subprocess.PIPE) 
print(A.communicate()) 
+0

是'subprocess.check_output'用'subprocess.Popen'互換? – Mahir

+0

我試着'print(subprocess.check_output(cmd,shell = True))',用'cmd'在問題中聲明,但錯誤信息告訴我cmd返回的非零退出狀態1 – Mahir

+0

我編輯過它以滿足您的需求。它不應該沒有阻礙。如果您有任何問題,請讓我知道,因爲它對我來說是100%。 –

相關問題