首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Python/Pé在Kate中创建新的文件视图?

如何使用Python/Pé在Kate中创建新的文件视图?
EN

Stack Overflow用户
提问于 2013-07-25 21:41:57
回答 2查看 334关注 0票数 1

我正在开发一个用Python编写的Kate插件,它生成的大量文本太大,无法在弹出窗口中显示。所以我希望Kate打开一个新的未命名文件并在其中显示文本。

在Python中有什么方法可以做到这一点(除了运行子进程echo text | kate --stdin之外)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-26 19:10:09

我自己发现的:

代码语言:javascript
复制
import kate
from kate import documentManager as dm
from PyKDE4.kdecore import KUrl


text = "Lorem ipsum dolor sit amet"

# Open a new empty document
doc = dm.openUrl(KUrl())
# Open an existing file
doc = dm.openUrl(KUrl('/path/to/file.ext'))

# Activate view
kate.application.activeMainWindow().activateView(doc)

# Insert text
pos = kate.activeView().cursorPosition()
doc.insertText(pos, text)
票数 1
EN

Stack Overflow用户

发布于 2013-07-25 21:51:50

您可以直接使用管道:

代码语言:javascript
复制
>>> f = os.popen("kate --stdin", "w")
>>> f.write("toto")
>>> f.close()

现在凯特打开一个文件,里面有"toto“。

一个更现代的解决方案是使用subprocess模块:

代码语言:javascript
复制
>>> sp = subprocess.Popen(["/usr/bin/kate", "--stdin"], stdin=subprocess.PIPE, shell=False)
>>> sp.stdin.write("toto")
>>> sp.stdin.close()

正如命令中所指定的,它不使用shell。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17869274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档