我在波蘭的一個字作爲一個字符串變量,我需要打印到文件:如何使用變音符打印到文件的字符串?
# coding: utf-8
a = 'ilośc'
with open('test.txt', 'w') as f:
print(a, file=f)
這將引發
Traceback (most recent call last):
File "C:/scratches/scratch_3.py", line 5, in <module>
print(a, file=f)
File "C:\Python34\lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u015b' in position 3: character maps to <undefined>
尋找已有答案(with .decode("utf-8")
,或with .encode("utf-8")
),並嘗試各種咒語我終於管理了要創建的文件。
不幸的是寫的是b'ilośc'
而不是ilośc
。當我在打印到文件之前嘗試對其進行解碼時,我回到了初始錯誤和相同的回溯。
如何將包含變音符的str
寫入文件,以便它是字符串而不是字節表示形式?
什麼Python版本您使用的? Python 2.x中的編碼是一種痛苦... – linusg
@linusg你在問題 – user312016
@ user312016中清楚地看到Python34對不起,沒有看到! – linusg