Python os.popen和unicode

时间:2014-11-21 17:45:09

标签: python unicode

我正在使用Python 3.4(法语)PC工作

for line in os.popen('dir'): print(line.rstrip())

我按预期获得第一行

Le volume dans le lecteur C s'appelle SYSTEME

但是第二次(使用é

Lenumérodes é rie du volume est C250-47DD

我收到错误消息:

return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u201a' in position 7: character maps to
 <undefined>

我该怎么办? 提前感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您需要在打印之前通过适当的编码对线进行编码:

for line in os.popen('dir'): 
      print(line.rstrip().encode('UTF-8')) # as utf8 is a universal encoding i use it you can use another too