[問題] python執行jar後續動作

看板Python作者 (Dean)時間6年前 (2018/08/23 16:19), 編輯推噓1(1018)
留言19則, 2人參與, 6年前最新討論串1/1
小弟剛踏入Python不久,也沒甚麼Coding經驗.. 有個問題想請教各位大大, 倘若今天我用Python執行一個java.jar(如下) def Java(self, Log, Apptype = '', Hostname = CONFIG.Channel.IP, Webport = '', Username = CONFIG.User.Name, Password = CONFIG.User.PW): send = 'java -jar Java.jar' process = Popen(args=send, shell=True, stdout = subprocess.PIPE, stderr = subprocess.PIPE) ret = [] while process.poll() is None: line = process.stdout.readline() if line != '' and line.endswith('\n'): ret.append(line[:-1]) stdout, stderr = process.communicate() ret += stdout.split('\n') ret.remove('') return ret 執行成功跳出一個視窗之後,我還有辦法做後續動作嗎? (對視窗做點擊動作或是按下Enter之類的) 麻煩各位的回覆了,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.130.11.240 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1535012349.A.5DA.html

08/23 20:16, 6年前 , 1F
根據你的 java 程式而定
08/23 20:16, 1F

08/23 20:18, 6年前 , 2F
gui 操作應該就要透過 win32api 或其他程式模仿gui 對窗
08/23 20:18, 2F

08/23 20:18, 6年前 , 3F
口做操作
08/23 20:18, 3F

08/23 20:24, 6年前 , 4F
process 有 stdin.write 你試試看對他寫入符不符需求
08/23 20:24, 4F

08/24 10:10, 6年前 , 5F
有試過threading.Thread,但是窗開啟後
08/24 10:10, 5F

08/24 10:10, 6年前 , 6F
就不會有進一步動作,反而關掉視窗才會繼續
08/24 10:10, 6F

08/24 12:21, 6年前 , 7F
所以你是要結束程式嘛?
08/24 12:21, 7F

08/24 12:22, 6年前 , 8F
那用 os.kill 等方式送 term 給子行程不就得了?
08/24 12:22, 8F

08/24 13:39, 6年前 , 9F
我的意思是嘗試各種方法後僅止於啟動無法下一步
08/24 13:39, 9F

08/24 13:40, 6年前 , 10F
也許就像你說的要視java程式而定
08/24 13:40, 10F

08/24 19:02, 6年前 , 11F
popen 代入 stdin ,communicate 會回傳三個 其中包含 st
08/24 19:02, 11F

08/24 19:02, 6年前 , 12F
din
08/24 19:02, 12F

08/24 19:04, 6年前 , 13F
對 stdin 寫入會有類似你用 cmd 開啟程式後的輸入介面
08/24 19:04, 13F

08/24 19:20, 6年前 , 14F
你執行環境是Linux還是 。windows
08/24 19:20, 14F

08/27 09:25, 6年前 , 15F
我的作業系統是linux,由於lunch進去java之後
08/27 09:25, 15F

08/27 09:26, 6年前 , 16F
還有許多動作要執行,且都是圖形化介面..
08/27 09:26, 16F

08/27 09:27, 6年前 , 17F
launch... sorry
08/27 09:27, 17F

08/27 11:28, 6年前 , 18F
目前用了另一套軟體Sikuli來輔助,加上popen stdin
08/27 11:28, 18F

08/27 11:28, 6年前 , 19F
是可以正常運作的,謝謝s大指教~
08/27 11:28, 19F
文章代碼(AID): #1RVctzNQ (Python)
文章代碼(AID): #1RVctzNQ (Python)