文档章节

python使用subprocess获取命令行输入后中文转码问题

字里行间
 字里行间
发布于 2015/06/12 15:19
字数 318
阅读 182
收藏 0

python使用subprocess模块可以方便的运行系统命令,并获取输入,但是当输出的内容中存在中文时返回的数据就是进行过编码后的,无法正常显示,因此要对其进行一下转码,过程如下:

首先,应该知道命令行使用哪种编码显示输出结果,在命令行中运行 chcp 命令来获取活动页代码,如:"活动页代码:936"

MS-DOS为以下国家和语言提供字符集: 
  代码页描述 
  1258 越南语 
  1257 波罗的语 
  1256 阿拉伯语 
  1255 希伯来语 
  1254 土耳其语 
  1253 希腊语 
  1252 拉丁 1 字符 (ANSI) 
  1251 西里尔语 
  1250 中欧语言 
  950 繁体中文 
  949 朝鲜语 
  936 简体中文(默认) GBK
  932 日语 
  874 泰国语 
  850 多语种 (MS-DOS Latin1) 
  437 MS-DOS 美国英语  
  65001 UTF-8

然后在PY内对获取到的结果进行相应转码即可

例如我的活动代码页为936,即GBK编码

那么应该就应该这样写:

String = str(OutPut.stdout.readline(),encoding='gbk')



OutPut为subprocess.Popen命令返回的对象

© 著作权归作者所有

共有 人打赏支持
字里行间
粉丝 3
博文 2
码字总数 440
作品 0
海淀
程序员
使用python一步一步搭建微信公众平台(二)----搭建一个中英互译的翻译工具

距离上次写使用python一步一步搭建微信公众平台(一)已经有几个月了,当中自已也搭建了一个中英文互译的小应用,可是由于英文翻中文好弄,中文翻译成英文一直有问题,知道是编码的问题,但是...

Kevin_Yang
2014/01/19
0
39
详解 python 中文编码与处理

注意:本文只是针对 python 2,在 python 3 中,编码方式与处理技巧有些许变化,具体请参考: Python 2 与 Python 3 的差异对比: http://my.oschina.net/leejun2005/blog/173553 一、使用中...

大数据之路
2012/08/24
0
0
Python Unicode与中文处理(转)

Python Unicode与中文处理 python中的unicode是让人很困惑、比较难以理解的问题,本文力求彻底解决这些问题; 1.unicode、gbk、gb2312、utf-8的关系; http://www.pythonclub.org/python-bas...

coldlemon
2014/01/04
0
0
Python执行系统命令的方法

Python中执行系统命令常见方法有两种: 两者均需 import os (1) os.system # 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 system(command) -> exit_status Execute the c...

mickelfeng
2013/06/09
0
0
Python执行系统命令的方法

(1) os.system # 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 system(command) -> exit_status Execute the command (a string) in a subshell. # 如果再命令行下执行,结...

不必在乎朕是谁
2013/04/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周日乱弹 —— 种族不同,禁止交往

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小小编辑:推荐歌曲《苏菲小姐》- 鱼果 《苏菲小姐》- 鱼果 手机党少年们想听歌,请使劲儿戳(这里) @貓夏:下大雨 正是睡觉的好时候 临睡前...

小小编辑
36分钟前
32
5
Python 搭建简单服务器

Python动态服务器网页(需要使用WSGI接口),基本实现步骤如下: 1.等待客户端的链接,服务器会收到一个http协议的请求数据报 2.利用正则表达式对这个请求数据报进行解析(请求方式、提取出文...

代码打碟手
38分钟前
0
0
Confluence 6 删除垃圾内容

属性(profile)垃圾 属性垃圾的定义为,一个垃圾用户在 Confluence 创建了用户,但是这个用户在自己的属性页面中添加了垃圾 URL。 如果你有很多垃圾用户在你的系统中创建了属性,你可以使用...

honeymose
今天
0
0
qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部