2017-10-24 24 views
0

私はメタデータのコンシューマが不明のため、使用するには8進形式で表示する必要があります。私はそれを8進数で表す方法を理解しようとしています。例:リテラルなPython文字列を8進数で表示する

x = "\n)\n\022foobar" 
print x 

) 
foobar 

print repr(x) 
'\n)\n\x12foobar' 

xはどのようにして割り当てられたかを8進数で表示しますか?

答えて

1

できません。その表現は失われる。 "\ 022"を出力する場合は、自分で処理するか、代わりに"\\022"を保存する必要があります。

+0

フォローアップ: 'x'を印刷するとき、' x = 0o22'と 'x = 34'の違いを分かりません。両方とも(コンパイル段階で作成されたバイトコードレベルで)同じステートメントである場合、リテラルの代替形式は、実際のリテラルを実際に作成したことを知らない単一の実際の値に凝縮されます。 – ShadowRanger

+0

助けてくれてありがとう、私はそれを得るが、どのように私が望む 'エンコーディング'の文字列を印刷するためにPythonを得ることができません。彼らはまったく同じバイト値ですが、単に異なる表現では正しいでしょうか?それは私が望む表現でそれを印刷するためにPythonを得ることはできないでしょうか? –

+0

いいえ、 'str .__ repr __()'は書かなかったからです。 –

関連する問題