1. 程式人生 > >sublime text直接執行python程式時,如何在控制檯輸入資料?

sublime text直接執行python程式時,如何在控制檯輸入資料?

    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了微笑