python3.4学习笔记(五) IDLE显示行号问题,插件安装和其他开发工具介绍

IDLE默认不能显示行号,使用ALT+G 跳到对应行号,在右下角有显示光标所在行、列。
pycharm免费社区版、Sublime Text、pyscripter、eclipse+pydev 可以显示行数。

安装插件可以让IDLE显示行号:
1.先下载LineNumbers.py文件:http://ftp.heanet.ie/disk1/disk1/disk1/sourceforge/s/so/sourcetrac/tmp/IDLE/idlexlib/extensions/LineNumbers.py
2.将文件放在python安装目录下的idlelib目录下,
3.用文本编辑器打开idlelib目录下的config-extensions.def文件。将如下配置参数追加到文件末尾:
[LineNumbers]
enable=1
enable_editor=1
enable_shell=0
visible=1
注意:[LineNumber] 这个必须跟文件名一致才行。
4.保存此文件,重新打开idle看见行号说明成功,否则失败(下载到不对的文件会导致失败,编辑器才显示行号,运行控制台不会显示行号)。

注:网上都说IDLE配置了行号后变慢了。另外仅对Python3的idlelib进行配置,但是此文件可能让本机自带的Python2的idle产生警告。
如果要移除边栏行号显示功能,需要先启动idle,在options下拉栏选择configure extension选项,使Linenumber功能失效,再移除文件才不会产生终端运行idle报错。

==============================================
安装Notepad++ Python插件

首先我们需要安装 Notepad++ Python 插件,使得Notepad++可以管理python代码,这个插件可以通过Notepad++的插件管理中的"Python Script"插件安装,或者我们可以从http://sourceforge.net/projects/npppythonscript/下载插件,然后提取文件到Notepad++的插件目录中,如上所述,Python脚本插件的版本是 0.9.2。

启动Python脚本
Notepad++ Python脚本需要放置到特殊的目录中,以便于通过Python插件识别,然后可以在Notepad++中启动.
通常这个目录是%APPDATA%\Notepad++\plugins\config\PythonScript。
这个脚本也可以通过菜单Plugins->Python Script->Scripts启动.我们也可以创建工具栏按钮为这些脚本以便于快速启动它们。

编程对统计字数
为了展示这个插件,写一个python 脚本 ,用来计算 字符,字,行在当前的Notepad++编辑窗口。
from Npp import *
import re

numChars = 0
numWords = 0
numLines = 0
editorContent = editor.getText()
for line in editorContent.splitlines():
numLines += 1
for word in re.findall("[a-zA-Z0-9]+", line):
numWords += 1
numChars += len(word)
notepad.messageBox("Number of characters: %d \nNumber of words: %d \nNumber of lines: %d" % (numChars, numWords, numLines))
在第7行 我们获取实际编辑窗口中的文本内容和所有其他的一起,典型Python程序除外,
在第13行 我们打印 字符,字和行通过 Notepad++ 消息盒。

编程控制Notepad++的书签
让我们看另一个关于Python脚本,利用了Notepad++的书签特性
from Npp import *

notepad.menuCommand(MENUCOMMAND.SEARCH_CLEAR_BOOKMARKS) linesBookmarked = []
def onMatch(lineNumber, match):
if lineNumber not in linesBookmarked:
lineStartPos = editor.positionFromLine(lineNumber)
editor.gotoPos(lineStartPos)
notepad.menuCommand(MENUCOMMAND.SEARCH_TOGGLE_BOOKMARK)
linesBookmarked.append(lineNumber)

editor.pysearch("Pos", onMatch)

上面的脚本标记了所有包含字"Pos"的行。
编辑类提供了一个方法"pysearch" ,可以搜索给出的正则表达式 然后将会调用给定的函数进行每一个的匹配,就像"pyserarch"方法,通过Python脚本编辑器和Notepad的类对象提供许多帮助方法去自动化Notepad++功能。

python3.4学习笔记(五) IDLE显示行号问题,插件安装和其他开发工具介绍的更多相关文章

  1. python3.4学习笔记(三) idle 清屏扩展插件

    python3.4学习笔记(三) idle 清屏扩展插件python idle 清屏问题的解决,使用python idle都会遇到一个常见而又懊恼的问题——要怎么清屏?在stackoverflow看到 ...

  2. VC6.0显示行号的插件

    VC6.0显示行号的插件,很好很强大的显行号插件,使用VC编程的朋友再也不用烦恼VC6.0没有行号的编程环境了. VC显示行号插件使用说明:1. 如果你的VC安装在C盘,请拷贝文件VC6LineNum ...

  3. vc6.0如何显示行号以及出现版本不兼容问题

    有时编译时,提示某某行有错,但是要定位到某一行的话,如果在编辑页面能够将行号显示出来,查找也就更方便了,下面我来介绍一下让VC6.0显示行号的方法.   工具/原料   VC6.0.显示行号的插件 方 ...

  4. python3.4学习笔记(十八) pycharm 安装使用、注册码、显示行号和字体大小等常用设置

    python3.4学习笔记(十八) pycharm 安装使用.注册码.显示行号和字体大小等常用设置Download JetBrains Python IDE :: PyCharmhttp://www. ...

  5. python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

    python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...

  6. python3.4学习笔记(二十五) Python 调用mysql redis实例代码

    python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...

  7. 【opencv学习笔记五】一个简单程序:图像读取与显示

    今天我们来学习一个最简单的程序,即从文件读取图像并且创建窗口显示该图像. 目录 [imread]图像读取 [namedWindow]创建window窗口 [imshow]图像显示 [imwrite]图 ...

  8. python3.4学习笔记(六) 常用快捷键使用技巧,持续更新

    python3.4学习笔记(六) 常用快捷键使用技巧,持续更新 安装IDLE后鼠标右键点击*.py 文件,可以看到Edit with IDLE 选择这个可以直接打开编辑器.IDLE默认不能显示行号,使 ...

  9. python3.4学习笔记(四) 3.x和2.x的区别,持续更新

    python3.4学习笔记(四) 3.x和2.x的区别 在2.x中:print html,3.x中必须改成:print(html) import urllib2ImportError: No modu ...

随机推荐

  1. Cloudstack云平台实践

    laaS平台的虚拟化 利用率高 资源整合 节约电能 节约空间 灾难恢复 CloudStack是一个开源的具有高可用性及扩展性的云计算平台.支持管理大部分主流的hypervisor,如KVM虚拟机,Xe ...

  2. 洛谷P2564 生日礼物【单调队列】

    题目背景 四川2009NOI省选 题目描述 小西有一条很长的彩带,彩带上挂着各式各样的彩珠.已知彩珠有N个,分为K种.简单的说,可以将彩带考虑为x轴,每一个彩珠有一个对应的坐标(即位置).某些坐标上可 ...

  3. 洛谷P1117 优秀的拆分【Hash】【字符串】【二分】【好难不会】

    题目描述 如果一个字符串可以被拆分为AABBAABB的形式,其中 A和 B是任意非空字符串,则我们称该字符串的这种拆分是优秀的. 例如,对于字符串aabaabaaaabaabaa,如果令 A=aabA ...

  4. Java编程思想中关于闭包的一个例子

    Java编程思想中的一个例子,不是很理解使用闭包的必要性,如果不使用闭包,是不是有些任务就不能完成?继续探索. package InnerClass; interface Incrementable ...

  5. Linux:获取当前进程的执行文件的绝对路径

    摘要:本文介绍Linux的应用程序和内核模块获取当前进程执行文件绝对路径的实现方法. 注意:使用此方法时,如果执行一个指向执行文件的链接文件,则获得的不是链接文件的绝对路径,而是执行文件的绝对路径. ...

  6. POJ_3616_Milking Time

    Milking Time Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10841   Accepted: 4564 Des ...

  7. CodeForces - 950D A Leapfrog in the Array 玄学题

    题意:n个数1~n(n<=1e18)依次放在一个数组中,第i个数位置为2i-1,其它地方是空的.现在重复以下操作:将最右边的数放到离其左边最近的空的位置,直到所有数移到前一半的位置中.有q< ...

  8. $obj

    <?php $obj = new stdClass(); for($w=0; $w<10; $w++){ $obj->$w= $w.'w'; $str = $w.'we'; $obj ...

  9. CSS布局与定位——height百分比设置无效/背景色不显示

    CSS布局与定位——height百分比设置无效/背景色不显示 html元素属性width和height的值有两种表达方式,一是固定像素如“100px”,一是百分比如“80%”, 使用百分比的好处是元素 ...

  10. 混淆矩阵在Matlab中PRtools模式识别工具箱的应用

    声明:本文用到的代码均来自于PRTools(http://www.prtools.org)模式识别工具箱,并以matlab软件进行实验. 混淆矩阵是模式识别中的常用工具,在PRTools工具箱中有直接 ...