Notepad++ 使用记事本修改python脚本中的索引++;
我有一个Python脚本,它将数据库中的数据读入列表并填充模板。数据库结构已更改,因此现在我必须在所有索引中添加2。有没有办法用记事本++来做这样的事情 我所拥有的是:Notepad++ 使用记事本修改python脚本中的索引++;,notepad++,Notepad++,我有一个Python脚本,它将数据库中的数据读入列表并填充模板。数据库结构已更改,因此现在我必须在所有索引中添加2。有没有办法用记事本++来做这样的事情 我所拥有的是: cursor.execute("SELECT * FROM mytable WHERE id = %s",id) row = cursor.fetchone() nameSpace = {'valone':str(row[1]),'valtwo':str(row[2]),'valthree':str(row[3]),} #and
cursor.execute("SELECT * FROM mytable WHERE id = %s",id)
row = cursor.fetchone()
nameSpace = {'valone':str(row[1]),'valtwo':str(row[2]),'valthree':str(row[3]),} #and so on
我需要的是:
cursor.execute("SELECT * FROM mytable WHERE id = %s",id)
row = cursor.fetchone()
nameSpace = {'valone':str(row[3]),'valtwo':str(row[4]),'valthree':str(row[5]),} #and so on
有100多个变量,所以我不想手动执行
提前感谢;) 您可以使用一个简单的正则表达式,如
\w+\[([0-9]+)]
,并使用PythonScript来处理这些匹配,增加组1中的数字
- 安装
- 转到插件->Python脚本->新脚本
- 创建一个新的
脚本increment\u numbers\u 2up.py
- 添加以下内容:
现在,从Plugins->Python script->Scripts->increment\u numbers\u 2up运行脚本 我得到了这个结果:
nameSpace={'valone':str(第[3]行)、'valtwo':str(第[4]行)、'valthree':str(第[5]行)、}#等等
图案细节:
-第1组捕获1+个单词字符((\w+\[)
)和a[a-zA-Z0-9\]
[
-第2组捕获1+个数字([0-9]+)
-一个文本结尾]
括号]
这里的Python代码-
str(int(match.group(2))+2)
-使用int(match.group(2)
解析捕获到组2中的数字,然后添加2
,并使用str()
将值转换为字符串。您可以设置行=行[2:]
?您可能可以在记事本++中使用正则表达式搜索和替换。此外,这不是python问题,除非您试图使用python解决它,否则您可以使用“sed”如果您使用的是linux操作系统。@SandepsingRawat you's rightIr如果您想使用python,请将花括号中的文本指定给字符串变量。然后使用re.findall查找所有数字。将它们转换为整数,然后在列表上迭代,并用i+2替换每个数字。这就是我所需要的!我必须将\w改为一个文本,但是,有代码中的其他列表。谢谢!是的,模式可以定制以满足您的需要。很高兴它为您工作。
def increment_2_up(match):
return '%s%s]'%(match.group(1), str(int(match.group(2))+2))
editor.rereplace(r'(\w+\[)([0-9]+)]', increment_2_up)