解决pycharm下os.system执行命令返回有中文乱码的问题

yipeiwu_com5年前Python基础

如下所示:

source = ['C:\\Users\\admin\\Desktop\\pythonLearning']
target_dir = 'C:\\Users\\admin\\Desktop'
 
print(time.strftime('%Y%m%d%H%M%S'))
 
target = target_dir + os.sep + time.strftime('%Y%m%d%H%M%S') + '.zip'
if not os.path.exists(target_dir):
 os.mkdir(target_dir)
 
zip_command = 'HaoZipC a {0} {1}'.format(target, ' '.join(source))
 
type = sys.getfilesystemencoding()
print('类型为:', type)
 
 
print('Zip command is:')
print(zip_command)
print('Running:')
result = os.system(zip_command)
if result == 0:
 print('Successful backup to', target)
else:
 print('Backup FAILED')

控制台返回:

20170811100310

类型为: utf-8

Zip command is:

HaoZipC a C:\Users\admin\Desktop\20170811100310.zip C:\Users\admin\Desktop\pythonLearning

Running:

����ɨ���ļ�...

����ѹ���ĵ� C:\Users\admin\Desktop\20170811100310.zip

��ѹ���ļ���C:\Users\admin\Desktop\pythonLearning\byte-of-python-chinese-edition.pdf

��ѹ���ļ��� C:\Users\admin\Desktop\pythonLearning\byte-of-python.pdf

��ѹ���ļ��� C:\Users\admin\Desktop\pythonLearning\python�˹�����.png

解决方法:

将Global Encoding设置为gbk,即可正常显示,如下:

20170811100615
类型为: utf-8
Zip command is:
HaoZipC a C:\Users\admin\Desktop\20170811100615.zipC:\Users\admin\Desktop\pythonLearning
Running:
正在扫描文件...

创建压缩文档 C:\Users\admin\Desktop\20170811100615.zip

正压缩文件:C:\Users\admin\Desktop\pythonLearning\byte-of-python-chinese-edition.pdf

原因据说是因为IDE编码不能设置为utf-8,需要设置为gbk,因为这个控制台的代码需要和windows保持一致。

以上这篇解决pycharm下os.system执行命令返回有中文乱码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python之读取TXT文件的方法小结

方法一: <span style="font-size:14px;">#read txt method one f = open("./image/abc.txt")...

python决策树之CART分类回归树详解

python决策树之CART分类回归树详解

决策树之CART(分类回归树)详解,具体内容如下 1、CART分类回归树简介   CART分类回归树是一种典型的二叉决策树,可以处理连续型变量和离散型变量。如...

Python采用raw_input读取输入值的方法

本文较为详细的介绍了python中raw_input的用法,使用raw_input 能够很方便的丛控制台读入数据。具体用法示例如下: 1.输入字符串 #13222319810101*...

python小程序实现刷票功能详解

刷票一般要突破以下限制: 1、验证码识别 2、同一ip不可连续投票 解决办法 1、用tesseract工具,链接在此 https://code.google.com/p/tesserac...

python实现每次处理一个字符的三种方法

本文实例讲述了python每次处理一个字符的三种方法。分享给大家供大家参考。 具体方法如下: a_string = "abccdea" print 'the first' f...