如何在Sublime Text 3 Python API中获取文件内容
我对Python和Sublime文本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'
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)