首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Sublime Text 3- python中只构建一行

在Sublime Text 3- python中只构建一行
EN

Stack Overflow用户
提问于 2018-06-18 04:20:50
回答 1查看 1.3K关注 0票数 2

我对编程非常陌生,我使用“艰难地学习Python”,我发现它非常有帮助。

书中的问题之一是只运行一行,我发现这在Sublime Text 3中是不可能做到的。我尝试过谷歌,但我只能找到Sublime Text 2和一些我无法实现的解决方案。

我不仅仅使用Sublime Text 3附带的默认构建,有没有一种方法可以在Sublime中标记.py文件的某些行并只构建这些行?而不是我按下"cmd+b“时的整个文件?

任何帮助都将不胜感激,谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-18 04:35:11

这是一个小插件,可以满足你的需求:

class RunSelectionsWithPythonCommand(sublime_plugin.TextCommand):

    def run(self, edit, **kwargs):
        import re
        import tempfile

        chunks = []
        for region in self.view.sel():
            chunks.append(self.view.substr(region))

        if self.view.file_name():
            working_dir = os.path.dirname(self.view.file_name())
        else:
            working_dir = os.getcwd()

        chunks = "\n".join(chunks)
        lines = filter(
            None, [l for l in chunks.split("\n") if l.strip() != ""]
        )
        source_code = "\n".join(lines)

        with tempfile.NamedTemporaryFile(suffix='.py', mode='w', delete=False) as f:
            f.write(source_code)
            window = sublime.active_window()
            window.run_command("exec", {
                "shell_cmd": "python {}".format(f.name),
                "working_dir": working_dir,
                "quiet": False
            })

    def is_enabled(self):
        return len(self.view.sel()) > 0

下面是一个小演示:

因为你正在艰难地学习python,所以我将把如何安装和使用上面的插件作为练习……一个提示是,确保python在SublimeText进程上可用。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50900175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档