我有一个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 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
有一百多个变量,所以我不想手动进行。
提前致谢 ;)
您可以使用简单的正则表达式,例如,\w+\[([0-9]+)]
并使用PythonScript处理这些匹配项,从而增加第1组中的数字。
increment_numbers_2up.py
脚本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)
我得到了这个结果: nameSpace = {'valone':str(row[3]),'valtwo':str(row[4]),'valthree':str(row[5]),} #and so on
图案细节:
(\w+\[)
-第1组捕获1个以上的字符([a-zA-Z0-9_]
)和一个[
([0-9]+)
-第2组捕获1个以上的数字]
-右]
括号。此处的Python代码str(int(match.group(2))+2)
-用解析捕获到组2中的数字int(match.group(2)
,然后相加2
,然后将值转换为字符串str()
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句