2017-02-26 10 views
0

私はこの単純な小さなプログラムを書いた:(メインどのようにスラッシュでバックスラッシュを置き換えるために - Pythonの

def main (): 
with open("test.txt", "rt") as fin: 
    with open("out.txt", "wt") as fout: 
      for line in fin: 
       fout.write(line.replace("\", "/")) 
print ("done") 

)を

私は「\」はPythonでリテラルのエスケープであることを知っているが、私は必要なすべてがありますテキストファイルをスキャンし、すべての単一のバックラッシュをスラッシュ「/」で置き換えます。

誰でも何をすべきか知っていますか?

+0

を? –

+1

[BackslashesをForward Slashes with Pythonで置き換える]の可能な複製(http://stackoverflow.com/questions/4119166/replace-backslashes-with-forward-slashes-in-python) – McGrady

答えて

1

あなたはPythonの文字列が解釈されることを覚えておく必要があります。生の文字列だけがこの規則に従わない。たとえば、文字列に"\n"が含まれていると、新しい行として解釈されます。 幸運なことに、ファイルから読み込まれた文字列はすでにrawです。

あなたがしなければならないのは、単純に正規表現を使用です:たぶん使う「\\」の代わりに

s.replace('\\','/') 
+0

ありがとうございました!それは私が持っていた問題を解決するようです。 – teleton11

+0

「\」を「somestring」で置き換える方法を知っています... 'hello \」to replace'replace(' \ "、 '\\"')... これはそうではありません作業。 – zochhuana

+0

置き換えのカスケードを使用してください。 replace 'replace(' \\ '、' ').replace(' "''、 '') – adgon92

関連する問題