- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试替换文件中的几行。这是我的示例文件:
input a1;
//Power_off assertion for all power ports (1 per each power domain)
// `assert_Check1
//Start of functional specification here
// always @* reg_z4=Check
这是我编写的用于替换行的 python 代码:
import re,sys,fileinput
for line in fileinput.input(sys.argv[1], inplace=True):
assertPattern=re.match(r'\/\/\s(`assert_.+\)$)',line, re.M)
alwaysPattern=re.match(r'^\/\/\s(always\s@\*.+\;$)',line, re.M)
print (line.rstrip().replace('//Power_off assertion for all power ports (1 per each power domain)', '`ifdef assert_stdcell\n\n//Power_off assertion for all power ports (1 per each power domain)'),)
if assertPattern:
print (line.rstrip().replace(assertPattern.group(),assertPattern.group(1)))
print (line.rstrip().replace('//Start of functional specification here','`endif\n\n//Start of functional specification here'),)
if alwaysPattern:
print (line.rstrip().replace(alwaysPattern.group(),alwaysPattern.group(1)),)
这段代码可以很好地完成一些替换。但是,该代码复制了文件中的所有行。此外,alwaysPattern 和assertPattern 替换不起作用。这是代码的输出:
input a1;
input a1;
`ifdef assert_stdcell
//Power_off assertion for all power ports (1 per each power domain)
//Power_off assertion for all power ports (1 per each power domain)
// `assert_Check1
// `assert_Check1
//Start of functional specification here
`endif
//Start of functional specification here
// always @* reg_z4=Check
// always @* reg_z4=Check
知道为什么会发生重复吗?为什么模式替换不起作用?
最佳答案
发生重复是因为您必须在 if 之外打印语句。因此,您总是会将该行打印两次,此外,如果您的任何正则表达式匹配(它们不匹配),您将再次打印该行。
关于python - 替换文件中行的代码是重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52863723/
我想在 scilab 中绘制 limacon,我有这个方程需要处理: 我知道r>0和l>0 当我编译以下代码时,我在第 5 行收到此错误: Inconsistent row/column dimens
我试图更好地了解行和行集在 PeopleCode 中的用途?我读完了PeopleBooks,但仍然觉得我没有很好的理解。我希望对这些与应用程序引擎程序相关的内容有更多的了解。也许通过一个例子可能会有所
我有 4 列的行,每列都有一个标题和一些文本。大多数列都有相似数量的文本,将其列中的按钮向下按以匹配其余列。但是,一列的文本较少,并且没有将按钮向下推得足够远。 有没有办法将按钮对齐到行的底部?我想实
我有这个模型 summary = models.TextField() 但我只想有 4 行和 15 列。 此外,如果我这样做,我是否需要重新安装数据库。 最佳答案 TextField
我想在 iPhone 中创建 SSL 服务器套接字的客户端,但我在 iPhone 中找不到任何 API。我有带密码的有效证书文件 最佳答案 你看过OpenSSL了吗? ? 关于iphone - iPh
For Each cell In sheets(1).Range("A50:A606") For Each cell2 In sheets(2).Range("EX2:ACB2") cell2.
这是我的矩阵 [,1] [,2] M -1 -5 T 8 -4 W -3 9 Th
我有一个全局char *在运行时,重新声明为指向声明为 way 的二维数组的指针。 : char (*A)[N][M] = malloc(sizeof(char[BUF_16][N][M])); 然后
我是一名优秀的程序员,十分优秀!