Як напісаць тэкст Unicode ў аб'ект файла Python

Прасцей кажучы, наступны код:

f.write(u'Río Negro')

ўзнікае наступнае паведамленне пра памылку:

UnicodeEncodeError: 'ascii' codec can't encode character u'\xed' in position 1: ordinal not in range(128)

Што я магу зрабіць?
Я выкарыстоўваю Python 2.7.3.

3
Вы можаце шукаць SO з кодам памылкі, ёсць 1,750+ вынікі ...
дададзена аўтар dda, крыніца
выкарыстоўваць .encode ( 'UTF-8') на струну?
дададзена аўтар astreal, крыніца
выкарыстоўваць .encode ( 'UTF-8') на струну?
дададзена аўтар astreal, крыніца
выкарыстоўваць .encode ( 'UTF-8') на струну?
дададзена аўтар astreal, крыніца
выкарыстоўваць .encode ( 'UTF-8') на струну?
дададзена аўтар astreal, крыніца

10 адказы

Выкарыстанне Адкрыць ад <�а HREF = "http://docs.python.org/2/library/codecs.html» отн = "NOFOLLOW"> кодэкі модуль ліквідуе неабходнасць ўручную кадзіраваць:

import codecs

with codecs.open('file.txt', 'w', encoding='utf-8') as f:
    f.write(u'Río Negro')

У Python 3, гэтая функцыя ўбудаваная ў стандарт адкрыйце </код > функцыя :

with open('file.txt', 'w', encoding='utf-8') as f:
    f.write(u'Río Negro')
5
дададзена
<�Код> io.open() павінен быць выкарыстаны замест codecs.open() . Яго паводзіны такое ж, як Open() на Python 3 (дзе io.open адкрыты ).
дададзена аўтар jfs, крыніца
Гэта. У Python 3, гэтая функцыянальнасць забяспечваецца Open() убудаваны.
дададзена аўтар Sven Marnach, крыніца

Выкарыстанне Адкрыць ад <�а HREF = "http://docs.python.org/2/library/codecs.html» отн = "NOFOLLOW"> кодэкі модуль ліквідуе неабходнасць ўручную кадзіраваць:

import codecs

with codecs.open('file.txt', 'w', encoding='utf-8') as f:
    f.write(u'Río Negro')

У Python 3, гэтая функцыя ўбудаваная ў стандарт адкрыйце </код > функцыя :

with open('file.txt', 'w', encoding='utf-8') as f:
    f.write(u'Río Negro')
5
дададзена
<�Код> io.open() павінен быць выкарыстаны замест codecs.open() . Яго паводзіны такое ж, як Open() на Python 3 (дзе io.open адкрыты ).
дададзена аўтар jfs, крыніца
Гэта. У Python 3, гэтая функцыянальнасць забяспечваецца Open() убудаваны.
дададзена аўтар Sven Marnach, крыніца

Выкарыстанне Адкрыць ад <�а HREF = "http://docs.python.org/2/library/codecs.html» отн = "NOFOLLOW"> кодэкі модуль ліквідуе неабходнасць ўручную кадзіраваць:

import codecs

with codecs.open('file.txt', 'w', encoding='utf-8') as f:
    f.write(u'Río Negro')

У Python 3, гэтая функцыя ўбудаваная ў стандарт адкрыйце </код > функцыя :

with open('file.txt', 'w', encoding='utf-8') as f:
    f.write(u'Río Negro')
5
дададзена
<�Код> io.open() павінен быць выкарыстаны замест codecs.open() . Яго паводзіны такое ж, як Open() на Python 3 (дзе io.open адкрыты ).
дададзена аўтар jfs, крыніца
Гэта. У Python 3, гэтая функцыянальнасць забяспечваецца Open() убудаваны.
дададзена аўтар Sven Marnach, крыніца

Выкарыстанне Адкрыць ад <�а HREF = "http://docs.python.org/2/library/codecs.html» отн = "NOFOLLOW"> кодэкі модуль ліквідуе неабходнасць ўручную кадзіраваць:

import codecs

with codecs.open('file.txt', 'w', encoding='utf-8') as f:
    f.write(u'Río Negro')

У Python 3, гэтая функцыя ўбудаваная ў стандарт адкрыйце </код > функцыя :

with open('file.txt', 'w', encoding='utf-8') as f:
    f.write(u'Río Negro')
5
дададзена
<�Код> io.open() павінен быць выкарыстаны замест codecs.open() . Яго паводзіны такое ж, як Open() на Python 3 (дзе io.open адкрыты ).
дададзена аўтар jfs, крыніца
Гэта. У Python 3, гэтая функцыянальнасць забяспечваецца Open() убудаваны.
дададзена аўтар Sven Marnach, крыніца

Выкарыстанне Адкрыць ад <�а HREF = "http://docs.python.org/2/library/codecs.html» отн = "NOFOLLOW"> кодэкі модуль ліквідуе неабходнасць ўручную кадзіраваць:

import codecs

with codecs.open('file.txt', 'w', encoding='utf-8') as f:
    f.write(u'Río Negro')

У Python 3, гэтая функцыя ўбудаваная ў стандарт адкрыйце </код > функцыя :

with open('file.txt', 'w', encoding='utf-8') as f:
    f.write(u'Río Negro')
5
дададзена
<�Код> io.open() павінен быць выкарыстаны замест codecs.open() . Яго паводзіны такое ж, як Open() на Python 3 (дзе io.open адкрыты ).
дададзена аўтар jfs, крыніца
Гэта. У Python 3, гэтая функцыянальнасць забяспечваецца Open() убудаваны.
дададзена аўтар Sven Marnach, крыніца

Вам трэба кадзіраваць радок. Паспрабуйце гэта:

f.write(u'Río Negro'.encode('utf-8'))
4
дададзена
мяркуецца, што х двайковага файл ( «тэрмометр» <�код /> рэжым на Python 3).
дададзена аўтар jfs, крыніца
Ён працаваў, дзякуй!
дададзена аўтар José, крыніца

Вам трэба кадзіраваць радок. Паспрабуйце гэта:

f.write(u'Río Negro'.encode('utf-8'))
4
дададзена
мяркуецца, што х двайковага файл ( «тэрмометр» <�код /> рэжым на Python 3).
дададзена аўтар jfs, крыніца
Ён працаваў, дзякуй!
дададзена аўтар José, крыніца

Вам трэба кадзіраваць радок. Паспрабуйце гэта:

f.write(u'Río Negro'.encode('utf-8'))
4
дададзена
мяркуецца, што х двайковага файл ( «тэрмометр» <�код /> рэжым на Python 3).
дададзена аўтар jfs, крыніца
Ён працаваў, дзякуй!
дададзена аўтар José, крыніца

Вам трэба кадзіраваць радок. Паспрабуйце гэта:

f.write(u'Río Negro'.encode('utf-8'))
4
дададзена
мяркуецца, што х двайковага файл ( «тэрмометр» <�код /> рэжым на Python 3).
дададзена аўтар jfs, крыніца
Ён працаваў, дзякуй!
дададзена аўтар José, крыніца

Вам трэба кадзіраваць радок. Паспрабуйце гэта:

f.write(u'Río Negro'.encode('utf-8'))
4
дададзена
мяркуецца, што х двайковага файл ( «тэрмометр» <�код /> рэжым на Python 3).
дададзена аўтар jfs, крыніца
Ён працаваў, дзякуй!
дададзена аўтар José, крыніца