sublime text直接執行python程式時,如何在控制檯輸入資料?
阿新 • • 發佈:2019-01-05
sublime text是目前用的最多的編輯器了,相信很多人都在用,強大到無需多言。但用它來直接執行python時(F7或ctrl+B),在它自帶的控制檯裡是無法輸入的,對於只需要看輸出的程式是夠用了,但需要互動輸入的程式就傻了。個人猜測(也暫沒能力去深究),sublime text只是把pyhon控制檯的標準輸出和標準錯誤重定向到了自己的控制檯,標準輸入就沒處理,所以不能直接輸入。
解決辦法:
方法一:安裝接外掛 SublimeREPL ,安裝後通過選單tool->SublimeREPL->Python-> RUN current file 執行。
還可以自定義快捷鍵 直接執行。網上教程很多,這裡暫不多寫了。
方法二: 自己琢磨了一個很簡單的方法,瞭解到 sublime text 預設執行程式的有關配置是在packages目錄下,python對應的是Python.sublime-package,其實應該就是個zip包,解開後開啟 Python.sublime-build 檔案,裡面內容如下:
{ "shell_cmd": "python -u \"$file\"", "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python", "env": {"PYTHONIOENCODING": "utf-8"}, "variants": [ { "name": "Syntax Check", "shell_cmd": "python -m py_compile \"${file}\"", } ] }
只要把"shell_cmd":後面改成 類似如:
"echo run in new console... & start python -u -i \"$file\"",
說白了就是start 一個 新python控制檯,在新的python控制檯中就可以輸入了。 -i 選項可以讓python 執行後 不直接退出。
改完這個檔案儲存,再重新打包到 Python.sublime-package 中,再重新開啟sublime text 就可以愉快的ctrl+B了。