Python 如何将命令的结果存储到变量?
我正在尝试构建一个上下文菜单,它将显示我的所有包及其资源的树结构。类似于我绘制的糟糕的MS绘制渲染: 我已经安装了。它提供在窗口中显示的命令。但我想用它们来填充这些子上下文菜单:Python 如何将命令的结果存储到变量?,python,sublimetext3,Python,Sublimetext3,我正在尝试构建一个上下文菜单,它将显示我的所有包及其资源的树结构。类似于我绘制的糟糕的MS绘制渲染: 我已经安装了。它提供在窗口中显示的命令。但我想用它们来填充这些子上下文菜单: get\u packages\u list,我认为它将填充第一个子菜单(packages) 列出应填充每个后续子菜单的包文件 但是,我不知道如何将这些内容输出到上下文菜单中。我一直在研究python(为此编写一个崇高的插件) 如何将这些命令的输出转换成变量? 我的代码 import sublime import
,我认为它将填充第一个子菜单(packages)get\u packages\u list
列出应填充每个后续子菜单的包文件
我的代码
import sublime
import sublime_plugin
class ExampleCommand(sublime_plugin.TextCommand):
def run(self, edit):
self.view.insert(edit, 0, package_resource_viewer)
但它给了我一个错误:
>>> view.window().run_command("example")
Traceback (most recent call last):
File "C:\Program Files\Sublime Text 3\sublime_plugin.py", line 818, in run_
return self.run(edit)
File "C:\Users\heete\AppData\Roaming\Sublime Text 3\Packages\User\hello_world.py", line 7, in run
self.view.insert(edit, 0, package_resource_viewer)
name错误:未定义全局名称“包资源查看器”
显然,我还没走多远,但我甚至无法将此命令的输出显示在缓冲区中。您可以导入并访问这些命令。我做了一个简单的示例,它将包打印到当前视图。 然而,输出到上下文/侧栏菜单似乎更难,因为它们通常是静态的,您不能仅仅动态地创建一个。(您可以尝试通过命令创建静态菜单文件。)
导入升华插件
从PackageResourceViewer.package\u资源导入(
获取\u包\u列表,列出\u包\u文件
)
class ExampleListPackagesCommand(升华插件.TextCommand):
def运行(自我,编辑):
packages=get\u packages\u list()
插入_sb=[]
插入附加(“已安装的软件包:”)
插入/延伸(包)
对于包中包:
插入\u sb.附加(“”)
插入某人附加(包裹)
包文件=列表包文件(包)
插入\u sb.extend(“\t”+pf表示包\u文件中的pf)
self.view.insert(编辑,0,“\n”.join(插入)