【问题标题】:Sublime Text doesn't execute all lines of Python codeSublime Text 不会执行所有 Python 代码行
【发布时间】:2018-04-22 23:29:24
【问题描述】:

使用未注册版本的 Sublime Text(这是问题所在)?

当我运行以下代码时,它会提示我输入我的名字,我输入它并单击 Enter,然后什么也没有发生:

dict_1 = []
count = 0

while count < 3:
    fn = input('What is your first name:')
    ln = input('What is your last name:')
    dict_1.append({
        "first_name": fn,
        "last_name": ln
        })
    count += 1

print(dict_1)

但是,当我在 PyCharm 中运行完全相同的代码时,它会根据循环提示输入名字和姓氏 3 次,然后打印出结果字典。

我更喜欢 Sublime Text 而不是 Pycharm(不那么臃肿),但如果它不执行所有代码,那么它可能对我不起作用。

有什么想法吗?我缺少 Sublime Text 中的某些设置吗?

【问题讨论】:

  • 你在 sublime 中有 python 3 还是在 python 2 上运行
  • 如果您使用 python 2 在 sublime text 上运行它,它不知道输入是什么。所以它不会向你要一个
  • @dfundako 完全正确
  • @JD2775 请阅读链接。它应该可以解决您的问题。下次请确保您在此处提问之前先在 Google 上搜索您的问题。我们不想继续重复回答:)

标签: python sublimetext3


【解决方案1】:

Sublime Text“构建结果”面板(界面底部):

不是交互式的,你不能在那里输入。

为了解决这个问题,除了标准的 CTRL+B 构建快捷方式外,我还添加了另一个快捷方式(在菜单 Preferences > Key Bindings - User ):

{ "keys": ["ctrl+shift+alt+b"], "command": "python_run" }

允许使用 Python在新的终端窗口中启动当前文件(在那里,您可以输入一些数据)。

这是python_run.py 文件(要复制到C:\Users\User\AppData\Roaming\Sublime Text 2\Packages\User):

import sublime
import sublime_plugin
import subprocess

class PythonRunCommand(sublime_plugin.WindowCommand):
    def run(self):
        command = 'cmd /k "C:\Python27\python.exe" %s' % sublime.active_window().active_view().file_name()
        subprocess.Popen(command)

【讨论】:

    【解决方案2】:

    正如其他人所指出的,Sublime 的控制台不支持输入。如果你想运行需要标准输入输入的程序。您可以在 GUI 终端中运行它。您可以修改 Sublime 的内置 build system 用于 python 并添加一个用于 Python 的变体。

    1. 为了修改内置的python构建系统。您需要安装包PackageResourceViewer。按照那里的指南进行安装。
    2. 安装 PackageResourceViewer 后,使用 Shift + Ctrl + P 调出包控制面板。然后输入prv,选择Open Resource
    3. 然后输入python,在结果列表中选择第一项。

    1. 在弹出的面板中,选择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}\"",
            },
    
            {
                "name": "Run in console",
    
                "windows":{
                    "shell_cmd": "start cmd /k python -u \"$file\""
                },
                "linux":{
                    "shell_cmd": "xterm -hold -e python -u \"$file\""
                },
                 "osx":{
                    "shell_cmd": "xterm -hold -e python -u \"$file\""
                }
    
            }
        ]
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-08
      • 1970-01-01
      • 2012-01-23
      • 2014-03-01
      • 2014-08-05
      • 1970-01-01
      相关资源
      最近更新 更多