我试图删除字符串" IT \ ICCU \ LO1 \ 0834426"来自一个巨大的300万行文件。但是,当我运行此脚本时,它不会删除该字符串 当我在Pycharm中编辑脚本时,字符串显示为绿色,除了字符" \ 0",它们显示为黑色。这是一个问题,因为反斜杠是一个转义字符?任何人都有任何想法如何解决这个问题?
with open(f_in, 'r') as fin:
with open(f_out, 'w') as fout:
for line in fin:
if line.rstrip("IT\ICCU\LO1\0834426"):
fout.write(line)
答案 0 :(得分:2)
您正在寻找的是replace()
函数并使用原始字符串,如下所示:
with open(f_in, 'r') as fin:
with open(f_out, 'w') as fout:
for line in fin:
line = line.replace(r"IT\ICCU\LO1\0834426", "")
fout.write(line)
答案 1 :(得分:0)
string.rstrip()用于从字符串的右端去除空白字符。
请改为查看string.replace()。
答案 2 :(得分:0)
我不认为使用原始字符串是OP所要求的:
line = "JJJJJJJJJJ\IT\ICCU\LO1\0834426\ZZZZZZZZZ"
print line.replace(r"IT\ICCU\LO1\0834426",'')
JJJJJJJJJJ\IT\ICCU\LO1834426\ZZZZZZZZZ
print line.replace("IT\ICCU\LO1\0834426",'')
JJJJJJJJJJ\\ZZZZZZZZZ
使用带有字符串的line.replace()
将获得所需的结果
或者至少这是我的解释。