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 Ðä¹Î±mpÙ¡È testing Unicode support using Arabic, Latin, Cyrillic, Greek, Hebrew and CJK code points.\n"
python win32console_python、unicode和windows控制台相关推荐
- Python图片文字识别——Windows下Tesseract-OCR的安装与使用
Python图片文字识别--Windows下Tesseract-OCR的安装与使用 前言 Windows下Tesseract-OCR的安装与配置 Tesseract-OCR简介与版本选择 tesser ...
- xp支持python最高版本是多少_哪些版本的Python可以在Windows XP中运行?(What versions of Python will work in Windows XP?)...
哪些版本的Python可以在Windows XP中运行?(What versions of Python will work in Windows XP?) 什么版本的Python可以在Windows ...
- Dll注入过滤任意Windows控制台命令行输入
命令提示符也就是命令行控制台,新版本也叫做Windows 终端.如何做到当命令被输入控制台窗口后能够做到过滤呢? 其中,有一种就是键盘钩子判断键盘输入,但实用性可能不高. 另外一种方法就是获取控制台缓 ...
- 【C++】Windows控制台API基本使用(上)
目录 前言 一.控制台缓冲区大小 一.获取缓冲区大小 二.设置缓冲区大小 三.更详细的结构体 四.特性 二.窗口大小 一.获取窗口大小 二.设置窗口大小 三.光标位置 一.获取光标位置 二.设置光标位 ...
- python汉字转unicode_[转]Python、Unicode和中文
Python.Unicode和中文[转] python的中文问题一直是困扰新手的头疼问题,这篇文章将给你详细地讲解一下这方面的知识.当然,几乎可以确定的是,在将来的版本中,python会彻底解决此问题 ...
- 如何在C#Windows控制台应用程序中更新当前行?
使用C#构建Windows控制台应用程序时,是否可以在不扩展当前行或转到新行的情况下写入控制台? 例如,如果我想显示一个百分比,该百分比代表一个过程到完成为止的距离,我只想在与光标相同的行上更新值,而 ...
- python与php8-详解Python中Unicode和utf-8
在Python语言中,Uincode字符串处理一直是一个容易让人迷惑的问题.许多Python爱好者经常因为搞不清Unicode.UTF-8还有其它许许多多的编码之间的区别而大伤脑筋.本文将介绍Unic ...
- 【错误记录】Windows 控制台程序编译报错 ( WINDOWS.H already included. MFC apps must not #include <Windows.h> )
文章目录 一.报错信息 二.解决方案 一.报错信息 Windows 控制台程序编译报错 : 已启动生成- 1>------ 已启动生成: 项目: hacktool, 配置: Debug Win3 ...
- 【Visual Studio】Visual Studio 2019 创建 Windows 控制台程序 ( 安装 ‘使用 C++ 的桌面开发‘ 组件 | 创建并运行 Windows 控制台程序 )
文章目录 一.安装 C++ 桌面开发组件 二.创建并运行 Windows 控制台程序 一.安装 C++ 桌面开发组件 打开 Visual Studio Installer , 点击 " 修改 ...
最新文章
- 计算机三级考试网络技术怎么复习,2017计算机三级考试的三大复习阶段(网络技术为例)...
- 学习HTML5 canvas遇到的问题
- 博客园2013年5月份第1周源码发布详情
- Mysql修改binlog日志过期时间
- 【视觉项目】【day2】8.21号实验记录(手机固定高度15cm拍摄+直方图均衡化+模板匹配,模板12个,测试28个,效果十分差)
- AIgorand的基本原理
- 动态代理之: com.sun.proxy.$Proxy0 cannot be cast to 问题
- centos运行C程序
- 推荐一款强大的国产开源监控系统!
- java异常处理-小白学习中
- vivado程序固化到flash
- 【OpenCV】图像进行数字化操作:像素确定位置、获取像素BGR值、修改像素BGR值、修改指定区域内像素
- 当面试官问到以后的职业规划,这样回答绝对称赞你是高手!(二)
- 如何用宏定义的方式实现MAX(A,B),MAX(A,B,C),MAX(A,B,C,D)
- 软件开发项目计划编制过程[转]
- Iphone攻与防-一
- Python爬虫企查查
- Proteus仿真工程文件打不开
- 包含头文件使用 书名号与双引号的区别(直接打符号竟然发表不了,太难了)
- 推荐一本书《Atomic Habits》
热门文章
- binary search完整笔记
- Socket网络编程--简单Web服务器(2)
- 微软职位内部推荐-Senior SDE for Cloud Platform
- asp.net发布到IIS中出现错误:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”...
- Ubuntu 12.10 安装JDK、Hadoop全过程
- MySQL order by 是怎么工作的?
- GPS系统误差的主要来源
- GetOverlappedResult函数详细解答
- linux vim模板,FreeBSD8下的vim配置模板
- 006_JDK的Number派生类对Comparable接口的实现