如何在Sublime Text 3 Python API中获取文件内容

如何在Sublime Text 3 Python API中获取文件内容,python,sublimetext3,sublimetext,sublime-text-plugin,Python,Sublimetext3,Sublimetext,Sublime Text Plugin,我对Python和Sublime文本API开发非常陌生。。。那么这可能很容易 我想在新的面板窗口中显示文件(位于当前打开的文件旁边)的内容 我可以创建一个新的面板没有问题,并让它显示一个字符串使用 def newLogWindow(self, output): window = self.view.window() new_view = window.create_output_panel("log") new_view.run_command('erase_view'

我对Python和Sublime文本API开发非常陌生。。。那么这可能很容易

我想在新的面板窗口中显示文件(位于当前打开的文件旁边)的内容

我可以创建一个新的面板没有问题,并让它显示一个字符串使用

def newLogWindow(self, output):
    window = self.view.window()

    new_view = window.create_output_panel("log")
    new_view.run_command('erase_view')
    new_view.run_command('append', {'characters': output})
    window.run_command("show_panel", {"panel": "output.log"})

    sublime.status_message('Metalang')

pass
但我需要一个函数来获取文件的内容,并将其传递给该函数

content = xxxx.open_file("filename.txt")
// somehow get contents of this file?
// pass it to log window
self.newLogWindow(content);

谢谢你的帮助

在Sublime Text中,用于打开文件的内置API绑定到
窗口
,并将返回与选项卡相对应的
视图。在您的情况下,您希望使用文件的内容更新面板(与选项卡无关的现有
视图
),因此升华文本API不能用于此目的

相反,您可以直接在Python中使用:


在Sublime文本中,用于打开文件的内置API绑定到
窗口
,并将返回与选项卡相对应的
视图
。在您的情况下,您希望使用文件的内容更新面板(与选项卡无关的现有
视图
),因此升华文本API不能用于此目的

相反,您可以直接在Python中使用:


谢谢你,基思·霍尔。。“有效”,除了我在输出->中看到的所有NUL之外。你知道如何摆脱这些吗?@markstewie你的
filename.txt
是用什么编码保存的?您可能需要将其指定为
open
调用的一部分-
open('filename.txt','r',encoding='UTF-8')
例如。嗯,这不起作用,但肯定与编码有关。。。我已将真实文件的内容复制到新的测试文件中,并按预期工作。所以我需要解决如何更改文件的内容类型..发现我试图读取的日志文件的文件编码是utf16be@markstewie那么我认为它应该与
encoding='utf-16be'
一起工作,谢谢@keith hall。。“有效”,除了我在输出->中看到的所有NUL之外。你知道如何摆脱这些吗?@markstewie你的
filename.txt
是用什么编码保存的?您可能需要将其指定为
open
调用的一部分-
open('filename.txt','r',encoding='UTF-8')
例如。嗯,这不起作用,但肯定与编码有关。。。我已将真实文件的内容复制到新的测试文件中,并按预期工作。所以我需要解决如何更改文件的内容类型..发现我试图读取的日志文件的文件编码是utf16be@markstewie然后我认为它应该与
encoding='utf-16be'
with open('filename.txt', 'r') as myfile:
    content = myfile.read()
    self.newLogWindow(content)