解决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文件并取其某一列数据的示例

菜鸟笔记 首先读取的txt文件如下: AAAAF110 0003E818 0003E1FC 0003E770 0003FFFC 90 AAAAF110 0003E824 0003E2...

Python骚操作之动态定义函数

在 Python 中,没有可以在运行时简化函数定义的语法糖。然而,这并不意味着它就不可能,或者是难以实现。 from types import FunctionType foo_c...

Python高级编程之继承问题详解(super与mro)

Python高级编程之继承问题详解(super与mro)

本文实例讲述了Python高级编程之继承问题。分享给大家供大家参考,具体如下: 多继承问题 1.单独调用父类: 一个子类同时继承自多个父类,又称菱形继承、钻石继承。 使用父类名.ini...

10分钟教你用Python实现微信自动回复功能

10分钟教你用Python实现微信自动回复功能

 01 前言&&效果展示 相信大家都有忙碌的时候,不可能一直守在微信上及时回复消息。但微信又不能像QQ一样设置自动回复。无妨,今天,我们就来用Python实现微信的自动回复功能...

python列表的增删改查实例代码

names=["zhao00","qian01","sun02","li03","li03","li03","zhou04"] #print(names[]) 打印错误 print(...