2017-01-16 2 views
0

Я использую Python 2.7 и я пытаюсь написать файл с некоторой кодировкой (в моем переменной «finalList» кодировка: 0xe9)Python: кодирование файла, как вы пишете это

Это как Я пытаюсь написать свой файл, используя «» JSON и модули «Ио»

import json 
import io 

with io.open('my.json', 'w', encoding='utf8') as outfile: 
    json.dump(finalList, outfile) 
+3

Бьюсь об заклад, вы запуск python 2. –

+0

Ye s, я просто обновил сообщение, чтобы сказать, что использую 2.7 – NewToJS

+5

Возможный дубликат [Backporting Python 3 open (encoding = "utf-8") на Python 2] (http://stackoverflow.com/questions/10971033/backporting -python-3-openencoding-utf-8-to-python-2) –

ответ

1

json.dump принимает encoding ARG, который по умолчанию «UTF-8»:

$ pydoc json.dump 
Help on function dump in json: 

json.dump = dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding='utf-8', default=None, sort_keys=False, **kw) 
+0

Использование python 3.4:' json.dump (dict(), io. StringIO(), encoding = 'utf-8') 'дает мне:' TypeError: __init __() получил неожиданный аргумент ключевого слова 'encoding'' –

+0

вопрос помечен python2.7 –

Смежные вопросы