Home >Backend Development >Python Tutorial >How Can I Get User Input in Sublime Text When Programming?
Accessing User Input in Sublime Text for Programming
When working with Sublime Text 3, users may encounter challenges when attempting to obtain user input through Python functions like raw_input() or input(). This issue persists with input handling in other languages as well.
Sublime Text Limitations
Sublime Text, by itself, lacks the ability to handle input via these functions. To overcome this limitation, you can consider the following solutions:
SublimeREPL
Package Control offers SublimeREPL, which enables you to transfer or execute portions or all of your code through an active REPL. You may need to modify the Main.sublime-menu files to configure your preferred interpreter.
Custom Build System
If SublimeREPL does not play well with your code or you desire independent execution, you can create your own build system. For Windows, save the following as Packages/User/Python_cmd.sublime-build:
{ "cmd": ["start", "cmd", "/k", "python.exe", "$file"], "selector": "source.python", "shell": true, "working_dir": "$file_dir", "env": {"PYTHONIOENCODING": "utf-8"} }
Adjust the path to your Python executable accordingly. Choose Python_cmd as your Build System and press Ctrl B to execute your code in a new cmd window.
Platform-Specific Build Systems
For operating systems other than Windows, use the following build systems:
macOS
{ "shell_cmd": "osascript -e 'tell app \"Terminal\" to do script \"cd $file_path & python3 -u $file\"'", "working_dir": "$file_path", "selector": "source.python", "env": {"PYTHONIOENCODING": "utf-8"} }
Linux
{ "shell_cmd": "gnome-terminal --working-directory=$file_path -- bash -c 'python3 -u \"$file\" && read -n 1 -s -r'", "working_dir": "$file_path", "selector": "source.python", "env": {"PYTHONIOENCODING": "utf-8"} }
Terminus Plugin
As an alternative, the platform-independent Terminus plugin offers a drop-in replacement for the default build system engine. Create the following build system for Python:
{ "target": "terminus_exec", "cancel": "terminus_cancel_build", "cmd": ["/path/to/python", "-u", "$file"], "working_dir": "$file_path", "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)"" }
Remember to change the path to your Python executable. Terminus allows for extensive customization and additional features.
The above is the detailed content of How Can I Get User Input in Sublime Text When Programming?. For more information, please follow other related articles on the PHP Chinese website!