python 利用subprocess调用cmd命令程序,并正确输出控制台的输出中文

平台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)

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

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

原文地址:https://www.cnblogs.com/mghhzAnne/p/10346130.html

时间: 2024-08-29 00:29:04

python 利用subprocess调用cmd命令程序,并正确输出控制台的输出中文的相关文章

Python安装后在CMD命令行下出现“应用程序无法启动.............”问题

问题存在之一:系统是刚刚重做的精简版服务器系统(阉割版) AN就是在阿里云上刚开的Windows Server 2008 系统上碰到的  吓尿了都 症状:            正常安装python环境后 进入cmd命令行中,执行python就报错,报错的大概内容就是 “应用程序无法启动....因为并行配置不正确...请执行....exe文件”  PS:卧槽,记不清了, 错误截图 也找不到了 下药:          1.面对CMD命令行报错,代开事件查看器 可以通过控制面板打开,也可以在cmd

Java调用cmd命令 打开一个站点

使用Java程序打开一个站点 近期做了个东西使用SWT技术在一个client程序 须要升级时在提示升级 点击窗口上的一个连接 打开下载网页 花费了我非常长时间 用到了把它记录下来  怕是忘记,须要时能够直接来用到.         try { //不是在Java程序中运行而是在操作系统中运行             Runtime.getRuntime().exec("cmd /c start http://blog.csdn.net/blogluoqi/"); //Runtime.g

h5页面调用cmd命令并隐藏cmd弹窗

js代码 /*** 通过js调用cmd命令利用ffmpeg实现录屏或者录像功能 ***/ var  cmd = new ActiveXObject("WScript.Shell"); /* 命令参数说明 cmd.exe /c dir 是执行完dir命令后关闭命令窗口. cmd.exe /k dir 是执行完dir命令后不关闭命令窗口. cmd.exe /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭. cmd.exe /k start dir 会打开一个新窗口后

客户端调用 CMD 命令并回显结果。

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Windows.Forms; using Syste

JAVA中调用CMD命令,并输出执行结果

package com.wzw.util; import java.io.BufferedReader; import java.io.InputStreamReader; public class CmdDemo { public static void main(String[] args) { BufferedReader br = null; try { Process p = Runtime.getRuntime().exec("net user"); br = new Bu

在windows中,如何使用cmd命令行窗口正确显示编码为utf-8格式的文字

在windows中,如何使用cmd命令行窗口正确显示编码为utf-8格式的文字呢? 正确的步骤如下: 1, 打开cmd命令行窗口 2, 输入命令 >chcp 65001 数字65001代表的是cmd窗口中utf-8格式的编码.cmd窗口默认编码为gbk,数字代码为936 D:\>chcp 65001 Active code page: 65001 3,在cmd窗口标题栏里右键点击,调出右键菜单,点击属性->字体,将字体改成Lucida Console, OK,可以正确显示utf-8编码的

测试:python调用cmd命令,让push包自动化

一.python与monkey script脚本相结合,达到修改.script脚本中的内容 1 #coding:utf-8 2 ''' 3 push脚本进室内机,并运行 4 5 ''' 6 import os 7 import re 8 import subprocess 9 10 #执行脚本 11 def run_monkey(path): 12 filelist=os.listdir(path) 13 for filename in filelist: 14 filepath=os.path

调用CMD命令的一个.NET工具类

功能大概描述一下如果直接StandardOutput.ReadToEnd()这种方法,有很多限制 这类方式必须把命令全部执行一次写入并标记为exit,而且返回内容的获取会一直等待,如果在主线程里使用会导致假死. 若遇到执行时间长,同时会在执行中输出进度的命令,则明显不适应 对于部分特殊字符这类方法会直接中断一直等待(特别是对包含asc颜色等样式的输出) 本文的工具类解决以上问题,使用委托订阅的方式即时的输出执行过程,不用等待,异步输出结算后自动退出 方便应对类似这种需要长时间运行即时输出的打包命

转:Java调用CMD命令

java的Runtime.getRuntime().exec(commandStr)可以调用执行cmd指令. cmd /c dir 是执行完dir命令后关闭命令窗口. cmd /k dir 是执行完dir命令后不关闭命令窗口. cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭. cmd /k start dir 会打开一个新窗口后执行dir指令,原窗口不会关闭. 可以用cmd /?查看帮助信息. ★CMD命令★ 1. gpedit.msc-----组策略 2. s