In [20]:
import sys
sys.version_info.major


Out[20]:
2

In [11]:
some_text = u'€®©Ʃ'
print(some_text)
print(type(some_text))

encoded_some_text = some_text.encode('utf-8')
print(encoded_some_text)
print(type(encoded_some_text))

# Output in Python 3:
# €®©Ʃ
# <class 'str'>
# b'\xe2\x82\xac\xc2\xae\xc2\xa9\xc6\xa9'
# <class 'bytes'>


€®©Ʃ
<type 'unicode'>
€®©Ʃ
<type 'str'>

In [26]:
import os

to_file_map = {2: lambda s: s.encode('utf-8'), 3: lambda s: s}

with open('/tmp/some_text', 'w') as handle:
    handle.write(to_file_map[sys.version_info.major](some_text))
    handle.write('\n')
    
for line in os.popen('cat /tmp/some_text'): 
    print(line[0: -1])
    
for line in open('/tmp/some_text'):
    print(line[0: -1])
    
# Directly on Bash
# $ cat /tmp/some_text 
# €®©Ʃ


€®©Ʃ
€®©Ʃ

In [ ]: