mghhzAnne

平台Python3.7

1.利用控制台运行程序后在控制台会输出中文提示,但是用python调用subprocess.run函数后返回的输出是乱码,于是,解决方法是用subprocess.check_output(),该函数返回子进程向标准输出的输出结果

程序如下:

f=subprocess.check_out([\'XX\',\'XX\', \'XX\'],shell=True,)
t=f.decode(encoding=\'gbk\')
print(t)

输入参数是在控制台的变量用‘’引起来,然后逗号隔开,有几个写几个; 如  ls -l就是

f=subprocess.check_out([\'ls\',\'-l\'],shell=True,)

subprocess.check_output()输出的是二进制码,直接解码成原编码格式就可以了(这里的原编码格式是gbk)

 

至于为什么这么转码,详见另一篇关于python2和python3的encode和decode函数

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-10
  • 2022-12-23
  • 2021-09-01
猜你喜欢
  • 2021-11-17
  • 2022-12-23
  • 2022-12-23
  • 2022-01-01
  • 2022-01-28
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案