亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: win32下向多個終端輸出實現(xiàn) [打印本頁]

作者: luffy.deng    時間: 2010-06-04 15:04
標題: win32下向多個終端輸出實現(xiàn)
本帖最后由 luffy.deng 于 2010-06-04 15:34 編輯

問題來自這里http://www.72891.cn/thread-1713308-1-1.html
win32下一個進程只能跟一個控制臺關(guān)聯(lián),所以在當前進程是無法開多個控制臺窗口的,但是有時候可能又確實需要這樣做那么變通的辦法就是開幾個輔助的子進程,子進程里分配新的控制臺,并從管道讀取父進程發(fā)來的內(nèi)容顯示在自己關(guān)聯(lián)的控制臺上,簡單的原理就是這樣,看一下示例代碼。
  1. import subprocess
  2. import time
  3. con1 = subprocess.Popen('pythonw console.py',stdin=subprocess.PIPE)
  4. con2 = subprocess.Popen('pythonw console.py',stdin=subprocess.PIPE)
  5. con1.stdin.write('aaa\n')
  6. con2.stdin.write('bbb\n')
  7. time.sleep(10)
復(fù)制代碼
console.py也非常簡單
  1. import win32console
  2. import sys
  3. win32console.AllocConsole()
  4. sys.stdout = open("CONOUT$", "w", 0)
  5. while True:
  6.     s= sys.stdin.readline()
  7.     if not s:
  8.         time.sleep(1)
  9.     sys.stdout.write(s)
  10.     sys.stdout.flush()
復(fù)制代碼
附上一張效果圖

m.JPG (70.36 KB, 下載次數(shù): 38)

m.JPG

作者: t6760915    時間: 2010-06-04 15:50
試了一下,不錯,我對窗口程序不是很懂,正好掃下盲。推薦
作者: jjj137    時間: 2010-06-05 02:33
console.py才是玄奧所在啊~
作者: iamkey9    時間: 2010-06-07 10:17
回復(fù) 1# luffy.deng


    謝謝luffy.deng,因為我的問題還特意去找資料!
   收藏學習了,
   
   另外,我查了不少資料,這種IPC問題如果要跨平臺,貌似用socket操作是最具有跨平臺性的。




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2