程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

在Python curses窗口中實現交互shell?

編輯:Python

curses展示一個包含了服務器IP地址菜單,再菜單中選擇IP地址後使用Python ssh庫Paramiko連接到服務器,但是curses菜單不能終止,所以在新創建curses窗口中如何實現paramiko連接成功後的交互shell?



其他答案1:

想想都挺麻煩的:主進程 1) 利用 tty.forkpty 創建擁有獨立pty的子進程, 2) ncurses 創建多個 window,3) 判斷輸入再轉給具體 window 對應的子進程,4) 讀取子進程的輸出再轉給 window;子進程 os.execv('/usr/bin/ssh', ...);這之中應該會用到 select 以避免讀寫 tty fd 時堵塞。

(不熟悉paramiko,以 /usr/bin/ssh 代替;上面的思路也僅停留在思路上,我沒實際做過)


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved