Python 如何将命令的结果存储到变量?

Python 如何将命令的结果存储到变量?,python,sublimetext3,Python,Sublimetext3,我正在尝试构建一个上下文菜单,它将显示我的所有包及其资源的树结构。类似于我绘制的糟糕的MS绘制渲染: 我已经安装了。它提供在窗口中显示的命令。但我想用它们来填充这些子上下文菜单: get\u packages\u list,我认为它将填充第一个子菜单(packages) 列出应填充每个后续子菜单的包文件 但是,我不知道如何将这些内容输出到上下文菜单中。我一直在研究python(为此编写一个崇高的插件) 如何将这些命令的输出转换成变量? 我的代码 import sublime import

我正在尝试构建一个上下文菜单,它将显示我的所有包及其资源的树结构。类似于我绘制的糟糕的MS绘制渲染:

我已经安装了。它提供在窗口中显示的命令。但我想用它们来填充这些子上下文菜单:

  • get\u packages\u list
    ,我认为它将填充第一个子菜单(packages)
  • 列出应填充每个后续子菜单的包文件
但是,我不知道如何将这些内容输出到上下文菜单中。我一直在研究python(为此编写一个崇高的插件)

如何将这些命令的输出转换成变量?


我的代码

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(插入)