簡體   English   中英

在繼續Python之前,等待子進程.exe完成

[英]Wait for subprocess .exe to finish before proceeding in Python

我正在我的代碼中運行一個應用程序,它會重寫我稍后需要在代碼中閱讀的文件。 沒有輸出直接進入我的程序。 我不能讓我的代碼等到子進程完成,它只是繼續並讀取未更改的文件。

我已經嘗試過subprocess.Popen.wait(),subprocess.call()和subprocess.check_call(),但它們都不能解決我的問題。 有誰知道如何使這項工作? 謝謝。

編輯:這是我的代碼的相關部分:

    os.chdir('C:\Users\Jeremy\Documents\FORCAST\dusty')
    t = subprocess.Popen('start dusty.exe', shell=True)
    t.wait()      
    os.chdir('C:\Users\Jeremy\Documents\FORCAST')

你使用subprocess.Popen()的返回對象嗎?

p = subprocess.Popen(command)
p.wait()

應該管用。

你確定命令沒有立即結束嗎?

如果您執行程序

t = subprocess.Popen(prog, Shell=True)

無論程序是否存在,Python都不會拋出錯誤。 如果您嘗試使用Popen和Shell = False啟動不存在的程序,則會出現錯誤。 我的猜測是你的程序要么不存在於文件夾中,要么不執行。 嘗試使用Shell = False在Python IDLE環境中執行,看看是否有新窗口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM