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

yipeiwu_com7年前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+request+unittest实现接口测试框架集成实例

Python+request+unittest实现接口测试框架集成实例

1、为什么要写代码实现接口自动化 大家知道很多接口测试工具可以实现对接口的测试,如postman、jmeter、fiddler等等,而且使用方便,那么为什么还要写代码实现接口自动化呢?工...

python DataFrame 修改列的顺序实例

假设我有一个DataFrame(df)如下: name age id mike 10 1 tony 14 2 lee 20 3 现在我想把id 放到最前面,变成: id nam...

Python常见排序操作示例【字典、列表、指定元素等】

本文实例讲述了Python常见排序操作。分享给大家供大家参考,具体如下: 字典排序 按value排序 d1 = {"name":"python","bank":"icbc",...

Python脚本修改阿里云的访问控制列表的方法

需求 对于部署在阿里云上的重要系统一般是不让其他人访问的,所以会在负载均衡(SLB)上加上访问控制列表。而使用ASDL拨号上网的宽带来说一般公网IP都不会固定的,会随时变更公网IP,所...

Python的Django中将文件上传至七牛云存储的代码分享

最近在写的一个django小项目需要实现用户上传图片的功能,使用到了七牛云存储,特此记录下来。这里我使用的七牛python SDK 版本是7.0.3,函数使用上可能会与旧版有些不同。 原...