python win32console_python、unicode和windows控制台
下面的代碼將使Python以utf-8的形式輸出到控制臺,即使在Windows上也是如此。
控制臺將在Windows 7上很好地顯示字符,但在Windows XP上,它將無法很好地顯示字符,但至少它可以工作,而且最重要的是,您的腳本在所有平臺上的輸出都是一致的。您將能夠將輸出重定向到文件。
下面的代碼在Windows上用python 2.6進行了測試。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import codecs, sys
reload(sys)
sys.setdefaultencoding('utf-8')
print sys.getdefaultencoding()
if sys.platform == 'win32':
try:
import win32console
except:
print "Python Win32 Extensions module is required.\n You can download it from https://sourceforge.net/projects/pywin32/ (x86 and x64 builds are available)\n"
exit(-1)
# win32console implementation of SetConsoleCP does not return a value
# CP_UTF8 = 65001
win32console.SetConsoleCP(65001)
if (win32console.GetConsoleCP() != 65001):
raise Exception ("Cannot set console codepage to 65001 (UTF-8)")
win32console.SetConsoleOutputCP(65001)
if (win32console.GetConsoleOutputCP() != 65001):
raise Exception ("Cannot set console output codepage to 65001 (UTF-8)")
#import sys, codecs
sys.stdout = codecs.getwriter('utf8')(sys.stdout)
sys.stderr = codecs.getwriter('utf8')(sys.stderr)
print "This is an D?1?±mpù?è testing Unicode support using Arabic, Latin, Cyrillic, Greek, Hebrew and CJK code points.\n"
總結
以上是生活随笔為你收集整理的python win32console_python、unicode和windows控制台的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql索引检测_mysql检测重复索
- 下一篇: 定义python的色条_Python:定