替换“,;”至 ”;”在我的代码的输出中;也在最后一行

问题描述 投票:-2回答:1

我有一个输入文件,因此我正在制作一个脚本。我正在编写一个新文件,并以相同的代码读取输入文件。替换为“,;”至 ”;”在我的代码的输出文件中;也在最后一行:

ANBSI:B=250-9895,RC=261,CC=0,L=10,M=0-91,BNT=1,ISK=MNPT-1,;
ANBSI:B=130-9,RC=2262,CC=0,M=0-91,D=2-0,TRD=20,BNT=1,
python regex file-handling
1个回答
-2
投票

替换“,;”至 ”;”在我的代码输出中;以及也在最后一行

代码:

    import re

    flag=True
    str1=""
    f1=open(r"N:\Naman\Python\outputnaman.txt","w+")
    try:
        with open(r"N:\Naman\Python\Input anbsi1.txt",'r') as f:
            for line in f:
                obj=re.search("^[0-9]+-[0-9]*",line)
                obj1=re.search("^\s",line)    
                if obj:
                    if not flag:
                        f1.write(";\n")
                    flag=True
                    data=line.split()
                    if len(data)>1:
                    f1.write("ANBSI:B=")
                    flag=False
                    for item in data: 
                        f1.write(item+",")
                elif obj1:    
                    data=line.split()
                    for item in data:
                        f1.write(item+",")   

        f1.close()                
    except Exception as ex:
        print(ex)

输出:

    ANBSI:B=250-98,RC=150,CC=0,L=10,BNT=3,;
    ANBSI:B=250-98130,RC=150,CC=0,L=10,BNT=3,;
    ANBSI:B=250-98131,RC=150,CC=0,L=10,BNT=3,;
    ANBSI:B=250-98300,RC=460,CC=0,L=10,M=10-839999,;
    ANBSI:B=250-98515,RC=932,CC=0,L=10,BNT=3,;
    ANBSI:B=250-9892,RC=261,CC=0,L=10,M=0-91,BNT=1,ISK=MNPT-1,;
    ANBSI:B=250-9893,RC=261,CC=0,L=10,M=0-91,BNT=1,ISK=MNPT-1,;
    ANBSI:B=250-9894,RC=261,CC=0,L=10,M=0-91,BNT=1,ISK=MNPT-1,;
    ANBSI:B=250-9895,RC=261,CC=0,L=10,M=0-91,BNT=1,ISK=MNPT-1,;
    ANBSI:B=130-9,RC=2262,CC=0,M=0-91,D=2-0,TRD=20,BNT=1,
© www.soinside.com 2019 - 2024. All rights reserved.