python获取命令行输出结果 gbk
时间: 2023-07-25 08:21:14 浏览: 78
如果你想在 Python 中获取命令行输出结果并以 GBK 编码显示,可以使用 `subprocess` 模块和 `decode()` 方法。以下是一个示例代码:
```python
import subprocess
cmd = 'dir' # 命令行命令
p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
stdout, stderr = p.communicate()
# 输出命令行标准输出结果(以GBK编码显示)
print(stdout.decode('gbk'))
```
在上面的代码中,我们使用 `subprocess.Popen()` 方法来执行命令行命令,并使用 `stdout` 和 `stderr` 属性分别获取标准输出和标准错误输出结果。最后,我们使用 `decode()` 方法将输出结果以 GBK 编码显示出来。
相关问题
python写一个获取cmd输出内容的代码
可以使用Python的subprocess模块来获取cmd输出内容,示例代码如下:
```python
import subprocess
cmd = 'dir' # cmd命令
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = p.communicate() # 获取输出内容和错误信息
print(out.decode('gbk')) # 输出内容需要解码
```
这段代码可以获取cmd命令"dir"的输出内容。
python写一个方法 结束当前Windows系统命令行正在执行的命令,并获取命令输出的内容
可以使用Python的subprocess模块来实现这个功能。具体代码如下:
```python
import subprocess
def stop_command():
# 获取当前正在执行的命令的进程ID
process = subprocess.Popen('tasklist', stdout=subprocess.PIPE)
output, error = process.communicate()
pid = None
for line in output.splitlines():
if b'cmd.exe' in line:
pid = int(line.split()[1])
break
if pid is None:
print('没有正在执行的命令')
return
# 结束命令
subprocess.call(['taskkill', '/F', '/PID', str(pid)])
# 获取命令输出的内容
output = subprocess.check_output(['tasklist', '/FI', 'PID eq %d' % pid])
print(output.decode('gbk'))
stop_command()
```
这个方法会获取当前正在执行的命令的进程ID,然后使用taskkill命令结束该进程,并使用tasklist命令获取该进程的输出内容。注意,这个方法只适用于Windows系统。