20

Sublime Text 3 で Python スクリプトを実行しようとしています。シンプルな2ライナー

var = raw_input("Enter something: ")
print("You entered " + var)

入力を求め、それを待ってから、Windows コンソール プロンプトに出力します。

サイトに同様の質問がたくさんあるのを見て、これはかなりの数のユーザーにとって問題なので、それらを調べて試してみました.... exec.pyファイルのコピーを作成し、その1行をコメントし、新しいpythonwビルドファイルを作成し、ビルドファイルをいじってみました...何も機能していないようです。

明確な解決策がない場合、Sublime Text を使用して入力をどのように処理しますか?

4

5 に答える 5

33
于 2013-10-10T13:50:02.173 に答える
0

thx @MattDMo の答えは、プラグインをインストールする必要はありません。しかし、MacOSでcmdを試した後:

"shell_cmd": "osascript -e 'tell app \"Terminal\" to do script \"cd $file_path && python3 -u $file\"'",

毎回バックグラウンドから実行されているように見えますが、これは便利ではありません。

だから私は別の方法を試しました: temp.sh を使用して実行します。ここにコマンドがあります:

"cmd": ["zsh", "-c", "echo \"python3 ${file}\" > /tmp/tmp.sh ; chmod +x /tmp/tmp.sh ; open -a Terminal /tmp/tmp.sh ; sleep 2 ;rm /tmp/tmp.sh"], 

このメソッドは新しいウィンドウを前面にポップアップし、小さな変更を加えれば他のプラットフォームでも実行できるはずですが、私は試しませんでした。

「python_input.sublime-build」の全内容は次のとおりです。

{
    "cmd": ["zsh", "-c", "echo \"python3 ${file}\" > /tmp/tmp.sh ; chmod +x /tmp/tmp.sh ; open -a Terminal /tmp/tmp.sh ; sleep 2 ;rm /tmp/tmp.sh"], 
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}",
    "selector": "source.python",
    "env": {"PYTHONIOENCODING": "utf-8"},
}
于 2021-11-08T05:06:44.003 に答える