\x00
や\t
、スペースなどのエスケープ シーケンスを含む文字列を Python スクリプトに渡したいと考えています。
ただし、文字列を次のように渡すと:
some string\x00 more \tstring
python は自分の文字列を生の文字列として扱い、その文字列をスクリプト内から出力すると、文字列が文字どおりに出力\
され、エスケープ シーケンスとして扱われません。
つまり、上記の文字列を正確に出力します。
更新:(再び)
私はpython 2.7.5を使用して再現し、スクリプトを作成し、それを呼び出しますmyscript.py
:
import sys
print(sys.argv[1])
それを保存して、Windowsコマンドプロンプトから次のように呼び出します。
c:\Python27\python.exe myscript.py "abcd \x00 abcd"
私が得る結果は次のとおりです。
> 'abcd \x00 abcd'
PS実際のスクリプトでは、オプションパーサーを使用していますが、どちらも同じ効果があります。エスケープ シーケンスを処理するためにオプション パーサーに設定できるパラメーターがあるのではないでしょうか。