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()这是我从文本文件中删除目录路径的示例代码。如果"\\“slashes.But不适用于”/“目录,则此代码运行良好。
我有一个文本文件和下面的这些行。
1.大型D:/Dolby_Harmanious_kit/Dolby_Atmos_for_Sound_Bar_Products_SIDK/Test_Materials/Test_Signals/upmix_multitone/upmix_multitone_c/truehd/upmix_multitone_c_6ch_to_8ch.mlp -of out_dut.wav
2.大型D:/Dolby_Harmanious_kit/Dolby_Atmos_for_Sound_Bar_Products_SIDK/Test_Materials/Test_Signals/upmix_multitone/upmix_multitone_l/truehd/upmix_multitone_l_6ch_to_8ch.mlp -of out_dut.wav
3.大型D:/Dolby_Harmanious_kit/Dolby_Atmos_for_Sound_Bar_Products_SIDK/Test_Materials/Test_Signals/upmix_multitone/upmix_multitone_lfe/truehd/upmix_multitone_lfe_6ch_to_8ch.mlp -of out_dut.wav
在这里,我需要移除路径。
"D:/Dolby_Harmanious_kit/Dolby_Atmos_for_Sound_Bar_Products_SIDK/Test_Materials/Test_Signals/upmix_multitone/upmix_multitone_c/truehd/“喜欢不同的路径线。你能指点我吗。
发布于 2016-03-03 17:26:16
import re
b = open ('Filter_Lines.txt','w')
with open('Lines.txt') as f:
for line in f:
repl = (re.sub('(D:.*\\\\)|(D:.*/)','',line).rstrip('\n'))
b.write(repl + '\n')
b.close()据我所知,您需要windwos和linux路径,也许您的驱动器号会改变,因此您可以将其参数化:
b = open ('Filter_Lines.txt','w')
DRIVE = "E:" #windows
with open('filetest') as f:
for trim in f:
repl = (re.sub('(' + DRIVE +'.*\\\\)|('+ DRIVE + '.*/)','',trim).rstrip('\n'))
b.write(repl + '\n')
b.close()编辑 os.sep版本
import os
import re
b = open ('Filter_Lines.txt','w')
DRIVE = "E:" #windows
SEP = os.path.sep
if (SEP=="\\"):
SEP="\\\\"
with open('filetest') as f:
for line in f:
repl = (re.sub( DRIVE +'.*'+SEP,'',line))
b.write(repl)
b.close()https://stackoverflow.com/questions/35747103
复制相似问题