Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python rstrip反斜杠_Python_Backslash - Fatal编程技术网

Python rstrip反斜杠

Python rstrip反斜杠,python,backslash,Python,Backslash,我正试图从一个300万行的大文件中删除字符串“IT\ICCU\LO1\0834426”。但是,当我运行此脚本时,它不会删除字符串。 在Pycharm中编辑脚本时,字符串显示为绿色,但字符“\0”显示为黑色。这是因为反斜杠是转义字符造成的问题吗?有人知道如何解决这个问题吗 with open(f_in, 'r') as fin: with open(f_out, 'w') as fout: for line in fin: if line.rstri

我正试图从一个300万行的大文件中删除字符串“IT\ICCU\LO1\0834426”。但是,当我运行此脚本时,它不会删除字符串。
在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)
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)

您要查找的是函数并使用原始字符串,如下所示:

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)

您要查找的是函数并使用原始字符串,如下所示:

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)
rstrip()用于从字符串右端去除空白字符

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)
请看string.replace()。

string.rstrip()用于从字符串右端去除空白字符

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)

请看string.replace()。

我不认为OP需要使用原始字符串:

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)
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()

或者至少这是我的解释。

我不认为OP需要使用原始字符串:

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)
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()

或者至少这是我的解释。

您需要原始字符串文字。但是请阅读
rstrip
——即使使用正确的转义字符串,它也不会像您认为的那样(它可以处理字符集,而不是后缀)。您要做的是使用Re module和Re.sub,您可以将该字符串替换为“”,这样就可以了。通读re模块,它非常有用。您需要原始字符串文本。但是请阅读
rstrip
——即使使用正确的转义字符串,它也不会像您认为的那样(它可以处理字符集,而不是后缀)。您要做的是使用Re module和Re.sub,您可以将该字符串替换为“”,这样就可以了。通读re模块,它非常有用。
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)