PythonのUnicodeEncodeError

Pythonでは標準出力とファイル出力では、結果が変わってしまう。
標準出力では、Unicodeは自動的に文字列に変換されるが、ファイル出力ではUnicodeのまま処理されてしまうので、以下のようなエラーが出てしまう。

print(text)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 9-20: ordinal not in range(128)

なので、ファイル出力する場合はprintの最終出力結果に.encode(‘utf-8’)を付けよう。

ex.

print((u"text").encode('utf-8'))