python - 在 Sublime Text 3 中只构建一行 - python
问题描述
我对编程非常陌生,我使用“Learn Python the hard way”,我发现它非常有帮助。
书中的一个问题是只运行一行,我发现在 Sublime Text 3 中不可能做到这一点。我试过谷歌,但我只能找到 Sublime Text 2 和一些我无法工作的解决方案.
我不只是使用 Sublime Text 3 附带的默认构建,有没有办法在 Sublime 中标记 .py 文件的某些行并仅构建这些行?当我按“cmd + b”时,而不是整个文件?
任何帮助将不胜感激,谢谢。
解决方案
这是一个小插件来完成您的要求:
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进程中可用。
推荐阅读
- javascript - 创建 React App:在开发中提供 html
- node.js - Node.js 加密使用 tron 公共地址创建 ecdh
- ruby-on-rails - Mina 0.3.8 迁移到 Mina 1.2.3,NoMethodError: undefined method `isolate' for main:Object
- python - 有人可以用 Python 中的迭代来解释 axis=0 或 1 吗?
- ios - 使用 openURL 的谷歌地图应用重定向问题
- razor - 在 Blazor 上调用 ID EJSUploader 就像 javascript
- java - 斯坦福核心 NLP NER 标记:DATE 和 DURATION 之间的区别
- java - 更改晕影校正的衰减半径(OpenCV Java)
- android - 如何从密钥库中提取十六进制格式的私钥
- azure - 逻辑应用自定义连接器 - 如何从最终用户那里获得客户端 ID 和密码?