使用python分割文件中的文本

时间:2019-03-26 08:54:57

标签: python file annotations

我正在编写一个脚本,该脚本将文件中的文本拆分为序列并写入新文件,我该如何拆分内容文件? 我想通过创建新标签将注释从CASIA注释转换为标签文本

S1248R05.jpg 157 161 104

S1248R05.jpg 157 161 104

S1248R06.jpg 168 190 106

S1248R06.jpg 168 190 106

S1248R07.jpg 158 183 105

S1248R07.jpg 158 183 105    

输出应如下所示:

S1248R05.jpg

157 161 104

S1248R05.jpg

157 161 104

S1248R06.jpg

168 190 106

S1248R06.jpg 

168 190 106

S1248R07.jpg 

158 183 105

S1248R07.jpg 

158 183 105

这是我的剧本:

    with open(r"C:\Users\Abdou\Downloads\Compressed\CASIA Iris V3 Interval\CASIAInterval.txt") as f:
        contents = f.read()
        print(contents)
        result = [re.sub(r'([A-Z]+\g)', r'\n\1', contents).lstrip() for line in f]
        print(result)
        file = open("testfile.txt","w") 
        str1= ''.join(str(result))
        file.write(str(str1))

这是我的输出:

    S1240L04.jpg 129 204 97
    S1240L05.jpg 158 154 95
    S1241R01.jpg 168 148 107

1 个答案:

答案 0 :(得分:0)

使用简单的迭代。

例如:

with open(filename) as infile, open("testfile.txt", "w") as outfile:
    data = []
    for line in infile.readlines():
        line = line.strip().split()
        data.append(line[0]+"\n")
        data.append(" ".join(line[1:])+"\n")
    outfile.writelines(data)

输出:

S1248R05.jpg
157 161 104
S1248R05.jpg
157 161 104
S1248R06.jpg
168 190 106
S1248R06.jpg
168 190 106
S1248R07.jpg
158 183 105
S1248R07.jpg
158 183 105