如何从文本文件

时间:2016-03-25 06:01:46

标签: python-2.7

我有一个包含这些行的文本文件。

1.inputlist

  

D:\ Dolby_Harmanious_kit \ DRY_run_kits \ Dolby_Digital_Plus_Decoder_Imp \ Test_Materials \ Test_Signals \ ITAF_Tests \ seamless_switch \ acmod21_I0D0CRC.ec3 - #tD:\ Dolby_Harmanious_kit \ DRY_run_kits \ Dolby \ m1_m28_switch.cfg

2.inputlist

  

D:\ Dolby_Harmanious_kit \ DRY_run_kits \ Dolby_Digital_Plus_Decoder_Imp \ Test_Materials \ Test_Signals \ ITAF_Tests \ seamless_switch \ acmod_2_252_ddp.ec3 - #tD:\ Dolby_Harmanious_kit \ DRY_run_kits \ Digital \ m1_m7_switch_every_3frames.cfg

这里我需要删除路径名称,如

  

" d:\ Dolby_Harmanious_kit \ DRY_run_kits \ Dolby_Digital_Plus_Decoder_Imp \ Test_Materials \ Test_Signals \ ITAF_Tests \ seamless_switch \"   和" D:\ Dolby_Harmanious_kit \ DRY_run_kits \ Digital \"

。注意所有行都有不同的路径名。我有一个示例代码来删除路径名。

代码:

import re
b = open ('Filter_Lines.txt','w')
with open('Lines.txt') as f:
    for trim in f:
        repl = (re.sub('D:.*\\\\','',trim).rstrip('\n'))
        b.write(repl + '\n')

b.close()

但是这里删除了#34;

  

D:\ Dolby_Harmanious_kit \ DRY_run_kits \ Dolby_Digital_Plus_Decoder_Imp \ Test_Materials \ Test_Signals \ ITAF_Tests \ seamless_switch \ acmod21_I0D0CRC.ec3 - #tD:\ Dolby_Harmanious_kit \ DRY_run_kits \ Dolby \"

。我只需删除不包括" acmod21_I0D0CRC.ec3"的路径名。那条线。

请你指导我。

1 个答案:

答案 0 :(得分:1)

我做到了我理解你的问题, 在这里你指定的路径不相似,即我所理解的是, 你的路径可能是

a) D://a/b/c/file_name.cfg -#tD://a/b/c/d/e/file_name.cfg

我理解的是正确的吗?

这里有2条路径存在于单行中,但常见的是它包含 - #t, 所以只需使用split方法将其拆分。

这里我根据你的帖子理解我做了什么,

import re
li = []
b = open ('file_sample.txt','w')
with open ('file_sam.txt') as f:
    for i in open ('file_sam.txt','r'):
        a =  [re.sub('.*\\\\','',i).rstrip('\n') for i in i.split('D:')]
        b.write(''.join(a) + '\n')   
b.close()

这里我的输入是,

'D:\Dolby_Harmanious_kit\DRY_run_kits\Dolby_Digital_Plus_Decoder_Imp\Test_Materials\Test_Signals\ITAF_Tests\seamless_switch\acmod21_I0D0CRC.ec3 -#tD:\Dolby_Harmanious_kit\DRY_run_kits\Dolby\m1_m28_switch.cfg'
'D:\Dolby_Harmanious_kit\DRY_run_kits\Dolby_Digital_Plus_Decoder_Imp\Test_Materials\Test_Signals\ITAF_Tests\seamless_switch\acmod_2_252_ddp.ec3 -#tD:\Dolby_Harmanious_kit\DRY_run_kits\Digital\m1_m7_switch_every_3frames.cfg'

它给了我,

'acmod21_I0D0CRC.ec3 -#tm1_m28_switch.cfg'
'acmod_2_252_ddp.ec3 -#tm1_m7_switch_every_3frames.cfg'
你想要这个吗?