subprocess之check_out用法
在python3中使用subprocess的check_out方法时,因为该输出为byte类型,所以如果要查看具体的内容时需要进行转码,如果转码不对话,会影响内容输出的可读性,如下:
#1,输出解码不带参数
# -*- coding:utf-8 -*- import subprocess
cmd = r"ping www.baidu.com"
result = subprocess.check_output(cmd)
print(result.decode()) # decode中不带参数,默认是以utf-8解码 输出报错:
Traceback (most recent call last):
File "E:/debug.py", line 12, in <module>
print(result.decode()) # decode中不带参数
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd5 in position 2: invalid continuation byte Process finished with exit code 1
#2,输出解码带上 unicode_escape 参数,会显示乱码
# -*- coding:utf-8 -*- import subprocess
cmd = r"ping www.baidu.com"
result = subprocess.check_output(cmd)
print(result.decode("unicode_escape")) # decode中带参数 unicode_escape 输出显示乱码如下:
ÕýÔÚ Ping www.a.shifen.com [14.215.177.39] ¾ßÓÐ 32 ×Ö½ÚµÄÊý¾Ý:
À´×Ô 14.215.177.39 µÄ»Ø¸´: ×Ö½Ú=32 ʱ¼ä=6ms TTL=47
À´×Ô 14.215.177.39 µÄ»Ø¸´: ×Ö½Ú=32 ʱ¼ä=6ms TTL=47
À´×Ô 14.215.177.39 µÄ»Ø¸´: ×Ö½Ú=32 ʱ¼ä=6ms TTL=47
À´×Ô 14.215.177.39 µÄ»Ø¸´: ×Ö½Ú=32 ʱ¼ä=6ms TTL=47 14.215.177.39 µÄ Ping ͳ¼ÆÐÅÏ¢:
Êý¾Ý°ü: ÒÑ·¢ËÍ = 4£¬ÒѽÓÊÕ = 4£¬¶ªÊ§ = 0 (0% ¶ªÊ§)£¬
Íù·µÐг̵ĹÀ¼ÆÊ±¼ä(ÒÔºÁÃëΪµ¥Î»):
×î¶Ì = 6ms£¬× = 6ms£¬Æ½¾ù = 6ms Process finished with exit code 0
#3、输出解码带上 gbk 参数,显示正常
# -*- coding:utf-8 -*- import subprocess
cmd = r"ping www.baidu.com"
result = subprocess.check_output(cmd)
print(result.decode("gbk")) # decode中带参数 gbk 输出显示正常如下:
正在 Ping www.a.shifen.com [14.215.177.39] 具有 32 字节的数据:
来自 14.215.177.39 的回复: 字节=32 时间=7ms TTL=47
来自 14.215.177.39 的回复: 字节=32 时间=6ms TTL=47
来自 14.215.177.39 的回复: 字节=32 时间=7ms TTL=47
来自 14.215.177.39 的回复: 字节=32 时间=7ms TTL=47 14.215.177.39 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 6ms,最长 = 7ms,平均 = 6ms Process finished with exit code 0
subprocess之check_out用法的更多相关文章
- 【Android自动化】Subprocess.check_output()简单用法
# -*- coding:utf-8 -*- import os import sys import subprocess from uiautomator import device as d cm ...
- subprocess 的 Popen用法
使用Popen方法时,需要获取输出内容时可以按如下方法获取: # -*- coding:utf-8 -*- import subprocess cmd = r"ping www.baidu. ...
- 模块sys, os, glob, pickle, subprocess常见用法
参考python常用标准库 http://blog.51cto.com/lizhenliang/1872538 一. sys 1. sys.argv 脚本名1.py, 命令行中执行python 1 ...
- Python多进程(1)——subprocess与Popen()
Python多进程方面涉及的模块主要包括: subprocess:可以在当前程序中执行其他程序或命令: mmap:提供一种基于内存的进程间通信机制: multiprocessing:提供支持多处理器技 ...
- Bigger-Mai 养成计划,subprocess模块
subprocess模块是python从2.4版本开始引入的模块.主要用来取代 一些旧的模块方法,如os.system.os.spawn*.os.popen*.commands.*等.subproce ...
- python之路--subprocess,粘包现象与解决办法,缓冲区
一. subprocess 的简单用法 import subprocess sub_obj = subprocess.Popen( 'dir', #系统指令 shell=True, #固定方法 std ...
- Python模块subprocess
subprocess的常用用法 """ Description: Author:Nod Date: Record: #-------------------------- ...
- python中subprocess模块
subprocess 模块 subprocess称之为子进程,进程是一个正在进行的程序 子进程是由另一个正在运行的程序启动的程序,例如QQ聊天点击一个链接,打开了浏览器,那么浏览器称之为QQ的子进程 ...
- python常用模块-调用系统命令模块(subprocess)
python常用模块-调用系统命令模块(subprocess) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. subproces基本上就是为了取代os.system和os.spaw ...
随机推荐
- LR静态存储/动态存储/指针变量脚本说明
在一次教程学习中,看到该知识点并记录了下来,希望与大家共同探讨学习. 一.静态存储与动态存储 静态存储变量通常是在变量定义时就分定存储单元并一直保持不变, 直至整个程序结束.动态存储变量是在程序执行过 ...
- 《吊打面试官》系列-ConcurrentHashMap & HashTable
你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和 ...
- 【Maven】常用命令
[Maven]常用命令 转载:https://www.cnblogs.com/yangchongxing/p/10267028.html Maven Jar 搜索:https://mvnreposit ...
- python爬虫获取天猫与京东的商品价格
git地址: https://gitee.com/zhxs_code/spider_python 目前已简单实现可以爬取指定页面的价格(天猫和狗东的都可以),但是由于天猫与狗东对价格的展示方式和策 ...
- 你不知道的JavaScript(中)读书笔记(一)
第一章 1.内置类型 JavaScript有七种内置类型[除了对象以外,其他统称为“基本类型”]: 空值(null) 未定义(undefined) 布尔值(boolean) 数字(number) 字符 ...
- PDF提取表格的网页工具——Excalibur
在之前的文章另类爬虫:从PDF文件中爬取表格数据中,我们知道如何利用Python的camelot模块,通过写Python程序来提取PDF中的表格数据.本文我们将学习如何用更便捷的工具从PDF中提取 ...
- IDEA 解决Project SDK is not defined
IDEA 解决Project SDK is not defined 问题如下: 点击蓝字Setup SDK. 点击configure... 点击+,选择JDK. 选择jdk所在路径,点击确定. 选中, ...
- C#线程学习笔记五:线程同步--事件构造
本笔记摘抄自:https://www.cnblogs.com/zhili/archive/2012/07/23/Event_Constructor.html,记录一下学习过程以备后续查用. 前面讲的线 ...
- angular8 导出excel文件
angular package 1.xlsx npm install xlsx --save 2.file-saver npm install file-saver --save npm instal ...
- Sqlite—锁机制
https://blog.csdn.net/zhangsheng_1992/article/details/52598396 https://blog.csdn.net/xiyangyang8110/ ...