我有一个包含这些行的文本文件。
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"的路径名。那条线。
请你指导我。
答案 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'
你想要这个吗?