を使用して、文字列内の文字をエスケープは、私はこのようなPythonの3.2で文字列があるとしましょう:アンエスケープは、Python 3.2
'\n'
私はコンソールに()、それを印刷するとき、それは明らかに、新しい行として表示されます。私が望むのは、バックスラッシュとnの後に文字通りそのまま印刷できることです。さらに、\ tなどのエスケープされたすべての文字に対して、これを行う必要があります。だから私は、次のように一般的なケースのために、働くだろう、ということ()関数のアンエスケープを探しています:
>>> s = '\n\t'
>>> print(unescape(s))
'\\n\\t'
はその文字通りの代替品にエスケープ文字の辞書を構築することなく、Pythonで、このことは可能ですか?
(誰もが興味を持っている場合は、私は、コマンドライン上の外部プログラムに文字列を渡す必要があるので、私はこれをやっている理由は、このプログラムは、すべての標準的なエスケープシーケンスを理解している。。)
あなたは私が、「1つのコマンドラインを」と言うときあなたが実際にstdoutを使っていると仮定します。この場合、データを渡すプログラムは問題なく '\ n'などを消費しなければなりません。つまり、この2番目のプログラムに渡された後にデータを印刷すると、 '\ n'がまだそこに残っていることがわかります。あなたが本当にそれをエスケープしたいのでなければ。しかし、最初にチェックしてください。もし2番目のプログラムで余分な '\'を取り除くだけなら、おそらく間違っているでしょう。 – Endophage
私はmyutilityと呼ばれるコマンドラインプログラムを持っています。 'myutility -i \ n' 文字列をエスケープしないと、\ nが渡されることはありません。-iは空とみなされます引数。 –