我需要删除大约25000行中包含SEU/C0的大约4000行。 在以下行中查找SEU:
inpin "SEUC0/example_controller/U0/wrapper_wrappe/genx7.wrapper_controller/pid_reg<3>" A6 ,
我的测试文件的较大部分如下所示:
outpin "XDL_DUMMY_INT_R_X27Y147_TIEOFF_X29Y147" HARD1 ,
inpin "SEUC0/example_controller/U0/wrapper_wrapper/genx7.wrapper_controller/controller_kcpsm3/pc_vector_carry<7>" A6 ,
inpin "SEUC0/example_controller/U0/wrapper_wrapper/genx7.wrapper_controller/controller_kcpsm3/pc_vector_carry<7>" B6 ,
inpin "SEUC0/example_controller/U0/wrapper_wrapper/genx7.wrapper_controller/controller_kcpsm3/pc_vector_carry<7>" C6 ,
inpin "SEUC0/example_controller/U0/wrapper_wrapper/genx7.wrapper_controller/controller_kcpsm3/pc_vector_carry<7>" D6 ,
pip CLBLM_R_X27Y147 CLBLM_IMUX13 -> CLBLM_L_B6 ,
pip CLBLM_R_X27Y147 CLBLM_IMUX34 -> CLBLM_L_C6 ,
pip CLBLM_R_X27Y147 CLBLM_IMUX42 -> CLBLM_L_D6 ,
pip CLBLM_R_X27Y147 CLBLM_IMUX5 -> CLBLM_L_A6 ,
pip INT_R_X27Y147 VCC_WIRE -> IMUX13 ,
pip INT_R_X27Y147 VCC_WIRE -> IMUX34 ,
pip INT_R_X27Y147 VCC_WIRE -> IMUX42 ,
pip INT_R_X27Y147 VCC_WIRE -> IMUX5 ,
这就是我尝试的解决方案:
f = open("test.xdl","r+")
d = f.readlines()
f.seek(0)
for i in d:
if i != "SEU": # want to remove the SEU string
f.write(i)
f.truncate()
f.close()
如果我这样做:
for i in d:
if i=='inpin "SEUC0/':
f.write(i)
f.truncate()
f.close()
输出文件为空。你知道吗
当我尝试的时候
i!="inpin SEUC0/
它不起作用,因为它是一个长字符串,如果我写
"inpin "SEUC0/""
Python给出了一个错误。你知道吗
我是否可以删除所有包含SEUC0的行?你知道吗
看起来你的代码几乎可以正常工作,除了引用字符串和进行比较的方式。这个怎么样?你知道吗
请注意,这在搜索字符串周围使用单引号,因此字符串可以包含双引号。它还使用
.strip()
删除前导空格,然后使用.startswith()
检查行是否以正确的子字符串开头。使用==
或!=
时,它们会检查字符串是否完全相同。但您只想检查行是否以特定字符串开头。你知道吗相关问题 更多 >
编程相关推荐