我正在尝试解析特定的文本文件。我正在尝试打开文本文件并逐行询问是否存在特定字符串(在以下示例中,大括号中存在数字 01),然后向前向后操作特定字符串,或保留它相同。这是那个示例,其中一行任意命名为“go”...(完整文件中的其他行具有类似的格式,但有{01}, {00}
等...
go = 'USC_45774-1111-0 <hkxhk> {10} ; 78'
go = go.replace(go[22:24],go[23:21:-1])
>>> go
'USC_45774-1111-0 <khxkh> {10} ; 78'
我试图"hk" (go[22:24])
通过用相同的字母但向后替换它来操纵第一个。(go[23:21:-1)
我想要看到khxhk
,但正如你所看到的,我得到的结果是两者都倒退到khxkh
.
我也有为每一行执行特定 if 语句的问题。许多没有{01}
的行被操纵,好像它们是......
with open('c:/LG 1A.txt', 'r') as rfp:
with open('C:/output5.txt', 'w') as wfp:
for line in rfp.readlines():
if "{01}" or "{-1}" in line:
line = line.replace(line[25:27],line[26:24:-1])
line = line.replace("<"," ")
line = line.replace(">"," ")
line = line.replace("x"," ")
wfp.write(line)
elif "{10}" or "{1-}" in line:
line = line.replace(line[22:24],line[23:21:-1])
line = line.replace("<"," ")
line = line.replace(">"," ")
line = line.replace("x"," ")
wfp.write(line)
elif "{11}" in line:
line = line.replace(line[22:27],line[26:21:-1])
line = line.replace("<"," ")
line = line.replace(">"," ")
line = line.replace("x"," ")
wfp.write(line)
wfp.close()
我错过了一些简单的东西吗?