簡體   English   中英

Sublime Text不會執行所有Python代碼行

[英]Sublime Text doesn't execute all lines of Python code

使用未注冊版本的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(less腫的東西),但是如果它不能執行所有代碼,那么它可能對我不起作用。

有任何想法嗎? 我缺少的Sublime Text中是否有某些設置?

Sublime Text“構建結果”面板(界面底部):

在此處輸入圖片說明

是非交互式的,您不能在此處鍵入輸入。

為了解決這個問題,除了標准的CTRL + B構建快捷方式之外,我還添加了另一個快捷方式(在“菜單首選項”>“按鍵綁定-用戶”中 ):

{ "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)

正如其他人指出的那樣,Sublime的控制台不支持輸入。 如果要運行需要標准輸入輸入的程序。 您可以在GUI終端中運行它。 您可以為Python修改Sublime的內置構建系統 ,並為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\""
            }

        }
    ]
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM