使用Python扩展NotePad++
来源:互联网 发布:矩阵的持续时间 编辑:程序博客网 时间:2024/06/01 10:05
要使用Python扩展NotePad++,首先需要为NotePad++安装Python Script插件,NotePad++插件的安装方法可以参考这里。
Python Script介绍
Npp模块介绍
下面对Npp中的对象做一个简单介绍,更详细的接口参考Context-help。
console对象
notepad对象
如果你想要取消一个注册的监听,则通过下面的方法:
editor对象
安装了Python Script插件后,在菜单的Plugins下就会看到Python Script菜单了。
Python Script介绍
点击Plugins->Python Script->New Script菜单,打开的目录就是用户的Python脚本存放的目录。将Python脚本放到该目录下后,在Python Script下的Scripts目录下将出现与Python脚本同名的菜单,点击该菜单即可执行对应的Python脚本。
例如,我在该目录下放置了两个脚本:
例如,我在该目录下放置了两个脚本:
则在Scripts目录下为:
点击Show Console可以打开Python的控制台,里面会显示使用的Python的版本号,Python脚本可以输出信息到控制台中,后面将详细介绍。
Context-help是Python Script的帮助文档,包括了Api的介绍,后面将经常用到。
Context-help是Python Script的帮助文档,包括了Api的介绍,后面将经常用到。
Npp模块介绍
Npp模块包含了notepad、editor和console对象,这些对象用于操作Notepad++,notepad对象是Notepad类的实例,editor是Editor类的实例,console对象是Console类的实例。
在startup.py脚本中已经引入了Npp模块:
在startup.py脚本中已经引入了Npp模块:
from Npp import *由于startup脚本和你的脚本在同一个命名空间下,在你的Python脚本中可以直接使用它们,在后面的例子中会具体看到。
下面对Npp中的对象做一个简单介绍,更详细的接口参考Context-help。
console对象
Console可以打开控制台,console对象就是用于操作该控制台窗口,你能显示或者隐藏控制台、清除控制台内的内容、输出信息到控制台。console还支持运行一个命令并将命令结果输出到控制台,这样,你能用Python Script调用你的编译器,或者运行任何命令行工具。
下面是一个简单的例子,显示控制台,并打印信息:
下面是一个简单的例子,显示控制台,并打印信息:
console.show()console.write("Hello,world!")将上面的脚本保存到指定目录,并在scprits菜单下执行该脚本,就会自动打开控制台,并在控制台中输入“Hello,world!”,即下面的效果:
notepad对象
notepad对象就代表了Notepad++自身,可以使用notepad对象打开和保存文件、选择不同的tab、转换格式、运行插件命令等。
下面是一个例子,如果你编辑的是以“.log”结尾的文件,在该文件保存时,将自动在文件结尾添加时间戳:
下面是一个例子,如果你编辑的是以“.log”结尾的文件,在该文件保存时,将自动在文件结尾添加时间戳:
import datetimedef addSaveStamp(args):if notepad.getCurrentFilename()[-4:] == '.log':editor.appendText("File saved on %s\r\n" % datetime.date.today())notepad.callback(addSaveStamp, [NOTIFICATION.FILEBEFORESAVE])notepad的callback方法就是注册一个时间的回调监听,事件类型在枚举NOTIFICATION中定义。
如果你想要取消一个注册的监听,则通过下面的方法:
#取消所有的注册监听notepad.clearCallbacks()#取消针对某些事件的注册监听notepad.clearCallbacks([NOTIFICATION.FILESAVING, NOTIFICATION.FILESAVED])#取消指定函数的监听notepad.clearCallbacks(addSaveStamp)#取消指定函数对某些事件的监听notepad.clearCallbacks(addSaveStamp, [NOTIFICATION.FILESAVED])
editor对象
editor对象对应Notepad++的文本区域,提供了一些方法帮助操作数据,其中很多方法直接使用Python也可以实现,editor对象提供这些方法只是为了简化操作。
下面是一个简单的例子,找到当前打开的文件中以'#'开头的行,删除这些行,并保存文件:
下面是一个简单的例子,找到当前打开的文件中以'#'开头的行,删除这些行,并保存文件:
for i in range(editor.getLineCount() - 1, -1, -1) :line = editor.getLine(i)if line.startswith('#'):editor.gotoLine(i)editor.lineDelete()notepad.save()脚本从最后一行开始向前遍历,找到以'#'开头的行就将其删除,最后保存文件。这段脚本的问题是如果文件没有保存过,则会弹出一个文件保存对话框。
0 0
- 使用Python扩展NotePad++
- 使用notepad运行python
- 使用notepad运行python
- 使用notepad运行python
- 使用NotePad++运行Python
- 使用NotePad++编辑python代码
- 使用Notepad++编辑运行Python
- 使用 Notepad++ 编辑运行 Python 程序
- 使用 Notepad++ 编辑运行 Python 程序
- 使用 Notepad++ 编辑运行 Python 程序
- 使用 Notepad++ 编辑运行 Python 程序
- Notepad++与python使用配置习惯备份
- win7 使用Notepad++文本编辑器编辑python
- 标题:【转】使用notepad运行python
- notepad python
- 使用 c++ 扩展python
- notepad++使用
- Notepad++使用
- Substring with Concatenation of All Words
- c#编程技术之------初衷
- 最大网络流算法
- mybatis中resultMap和resultType的区别
- $.toJSON的使用方法
- 使用Python扩展NotePad++
- Java学习之路0716(三)
- linux下使用yum安装Apache+php+Mysql+phpMyAdmin
- android PopupWindow实现从底部弹出或滑出选择菜单或窗口
- 各种数据流比较
- 自学C#委托入门,给大家分享一下,希望大家能看懂。
- 如何提升产品运营人员的工作效率|新闻资讯|诸葛IO-精细化运营分析工具
- 树链剖分
- 背包九讲(转载)