質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Q&A

解決済

2回答

1405閲覧

pythonの対話型実行環境で、ユニコード文字列がエスケープされる

Narugal

総合スコア24

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

0グッド

0クリップ

投稿2016/08/05 04:09

Ubuntu Python2.7 使用中です。

shell

1Python 2.7.10 (default, Oct 14 2015, 16:09:02) 2[GCC 5.2.1 20151010] on linux2 3Type "help", "copyright", "credits" or "license" for more information. 4>>> a = {} 5>>> a["b"] = u"テスト" 6>>> a["b"] 7u'\u30c6\u30b9\u30c8' 8>>> print a["b"] 9テスト 10

上記のように、print文を使わないと、ユニコード文字を表示してくれないのですが、エスケープされない方法はありますか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

sysモジュールのdisplayhookという関数に任意の関数を代入すると、
対話環境での出力を変更することができます。
(私も調べて知りました。)

sys.displayhook - 28.1. sys — システムパラメータと関数 — Python 2.7.x ドキュメント
http://docs.python.jp/2/library/sys.html#sys.displayhook

以下のようにすれば、repr()の評価をデフォルトでprintしたものに変えられます。

  • コード例

lang

1>>> import sys 2>>> default_displayhook = sys.displayhook 3>>> default_displayhook 4<built-in function displayhook> 5>>> 6>>> def mydisp(obj): 7... if type(obj) is unicode: # unicodeの時だけ文字列としてprintする 8... print "(unicode)", obj 9... else: 10... print repr(obj) 11... 12>>> sys.displayhook = mydisp 13>>> a = {} 14>>> a["b"] = u"テスト" 15>>> a["b"] 16(unicode) テスト 17>>> sys.displayhook = default_displayhook # デフォルトに戻す 18>>> a["b"] 19u'\u30c6\u30b9\u30c8'

投稿2016/08/07 07:54

argius

総合スコア9390

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Narugal

2016/08/08 01:19

本当にありがとうございます。 開発がぐっと楽になりました。
guest

0

補足 :
オブジェクトやディクショナリをユニコードで出したい場合、
http://qiita.com/HirofumiYashima/items/4a5d6f1f0a23e787bc34
この方法が役に立ちました。

投稿2016/08/09 02:57

Narugal

総合スコア24

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問