我有一个包含多行的这一行的脚本:
Wait(0.000005);
目标是使搜索/替换功能转换为以下格式:
//Wait(0.000005);
Wait(5);
第一部分评论"等待(0.000005);"已经完成了。 从第一行替换有困难。
有人可以赐教。谢谢。答案 0 :(得分:1)
这是使用sed在命令行进行替换的单行程序:
sed 's/Wait(0.000005);/ \/\/Wait(0.000005);\'$'\nWait(50);/' filename.py
答案 1 :(得分:1)
import re
regex = re.compile(r"^.*Wait(0.000005);.*$", re.IGNORECASE)
for line in some_file:
line = regex.sub("^.*Wait(0.000005);.*$","Wait(50);", line)
这可能是一种可能的解决方案
答案 2 :(得分:0)
正则表达式在这里非常方便:
import re
with open("example.txt") as infile:
data = infile.readlines()
pattern = re.compile("Wait\(([0-9]+\.[0-9]*)\)")
for line in data:
matches = pattern.match(line)
if matches:
value = float(matches.group(1))
newLine = "//" + matches.group(0) + "\n\n"
newLine += "Wait(%i)" % (value * 10000000)
print newLine
else:
print line
示例输入:
Wait(0.000005);
Wait(0.000010);
Wait(0.000005);
示例输出:
//Wait(0.000005)
Wait(50)
//Wait(0.000010)
Wait(100)
//Wait(0.000005)
Wait(50)