subprocess执行命令、编码处理、正则提取数据

解决Python中使用subprocess.Popen返回值乱码的问题 通过明确指定subprocess.Popen函数的字符编码,我们可以解决Python中使用该函数获取返回值时可能遇到的乱码问题。然而,有时候在使用subprocess.Popen函数获取外部命令的返回值时,可能会遇到乱码的问题。这可能是由于外部命令的输出包含非ASCII字符,而默认情况下,subprocess模块在获取返回值时使用的是系统默认的字符编码,导致乱码问题的出现。要解决返回值乱码的问题,我们需要明确指定subprocess.Popen函数在获取返回值时使用的字符编码。 阅读详情
import subprocess
import re

def sub_deal(filename):
    '''
    .表示匹配任意字符
    *表示匹配0次或多次
    +表示匹配1次或多次表达式
    \d表示匹配数字
    :param filename: 获取的数据存入文件  然后读取
    :return:
    '''
    a=subprocess.Popen('ipconfig/all',stdout=subprocess.PIPE,stdin=subprocess.PIPE,shell=True)
    b=str(a.stdout.read(),encoding='gbk') #编码gbk
    # print(b)

    with open(filename,'w',encoding='utf-8')as f: #编码utf8
        f.write(b)

    with open(filename,'r',encoding='utf-8')as f:#编码utf8
        for i in f.readlines():
            i=i.strip()
            if 'IPv4' in i:
                s=re.findall(r'.*IPv4 地址.*: (\d+.\d+.\d+.\d+).*',i)
                print(s)
            else:
                pass
if __name__=='__main__':
    sub_deal('b.txt')

不写入文件,直接获取数据

import subprocess
import re


def sub_deal():
    '''
    .表示匹配任意字符
    *表示匹配0次或多次
    +表示匹配1次或多次表达式
    \d表示匹配数字
    :return: 
    '''
    a = subprocess.Popen('ipconfig/all', stdout=subprocess.PIPE, stdin=subprocess.PIPE,shell=True)
    b = a.stdout.read()

    s = re.findall(r'.*IPv4 地址.*: (\d+.\d+.\d+.\d+).*', str(b,'gbk'))
    print(s)


if __name__ == '__main__':
    sub_deal()

从零到一:用STM32 FOC算法驯服无刷电机的艺术 本文详细介绍了如何使用STM32和FOC算法实现无刷电机的高性能控制。从硬件搭建、参数识别到闭环调节,一步步解析FOC算法的核心原理与调优技巧,帮助开发者掌握电机控制的关键技术,实现从零到一的精准驯服。 阅读详情

相关推荐

工作笔记05:imu、底盘车轮、单激光雷达外参校准(基于hdl_graph_slam建图和定位)

目录1. imu 校准1.1 IMU型号1.2 坐标定义1.2.1 大地坐标系(WGS84)1.2.2 当地地理坐标系(ENU)1.2.3 传感器坐标轴定义1.3 传感器校准2. 底盘车辆参数配置3. 单激光雷达校准参考文献 1. imu 校准 1.1 IMU型号 阅读IMU产品说明书,获得如下信息: Yesense YIS300 系列惯性传感系统 YIS300 系列包含: YIS300-U 惯性测量单元(IMU):输出经过校准的加速度和角速度值,同时也能够输出磁场强度信息。 YIS300-V 垂直参考系

穿林需独行的博客 4203

subprocess模块

类似 os.system 执行系统命令的,只不过返回的结果是bytes类型,可以自行选择解码格式。os.system直接返回本系统默认的编码解码方式。 import subprocess # 执行三条命令 obj=subprocess.Popen('echo 123 ; ls / ; ls /root',shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE,

人丑就要多读书的博客 191

MATLAB锂离子电池伪二维(P2D)模型实现

锂离子电池伪二维(P2D)模型的MATLAB实现。该模型基于Newman等人提出的经典电化学模型,考虑了固液相扩散、电荷守恒和电化学反应动力学。

hie98894的博客 1930

利用subprocess解决输出信息到文件中的编码问题

但是在Windows下默认是GBK编码,如果涉及中文就会出现乱码的情况,这里介绍使用subprocess来解决。这里介绍两种方式,根据需要进行选择。

湘潭大学-数学-范里明 2413

K8S搭建(centos)四、安装K8S

每个人都有惰性,但不断学习是好好生活的根本,共勉!

感谢阅读 2650

广东省低应变题库

11.按《建筑地基基础检测规范》DBJ/T15-60-2019的规定,采用低应变法对混凝土预制桩进行检测时,地基基础设计等级为甲级的桩基工程抽检桩数不应少于总桩数的30%,其余桩基工程抽检桩数不应少于总桩数的20%,且不得少于10根;16.按《建筑地基基础检测规范》DBJ/T15-60-2019的规定,当对某桩的桩身完整性判定为III类时,可认为该桩不满足验收条件,不用进一步确定该桩桩身缺陷对桩身结构承载力的影响程度。2.地基基础检测所用计量器具均应在检定(校准、验证)的有效期内,性能符合相关技术要求。

ZShy001238的博客 319

python:subprocess模块 subprocess常用

一、介绍 subprocess模块可以生成新的进程,连接到它们的input/output/error管道,同时获取它们的返回码。 二、基本操作方法 1. subprocess的run、call、check_call、check_output函数 subprocess.run(args[, stdout, stderr, shell ...]):执行args命令,返回值为CompletedProcess类; 若未指定stdout,则命令执行后的结果输出到屏幕上,函数返回值CompletedPro

yuezhilangniao的博客 781

OpenCASCADE:写IGES

OpenCASCADE:写IGES程序涵盖的领域流程说明初始化过程设置翻译参数执行 Open CASCADE Technology 形状转换编写 IGES 文件将开放级联技术形状映射到 IGES 实体曲线表面拓扑实体——人脸模式下的平移公差管理在 IGES 文件中设置分辨率代码架构调用图例子 程序 您可以通过以下步骤将 OCCT 形状转换为 IGES 实体: 初始化进程。 设置翻译参数, 执行模型翻译, 写入输出 IGES 文件。 您可以在写入文件之前转换多个形状。每个形状都将是 IGES 模型中的根实体。

希望我的博客,能帮上你解决学习中工作中所遇到的问题 923

python decode报错_python subprocess decode报错?

慕仰8121524老铁, 和subprocess没啥关系, 其实是一个bytes类转换为str的编码问题你试试:>>>print(output.decode('gbk'))默认服务器:dns.xxx.xxx.cnAddress:xxx.xxx.xxx.xxx>>服务器:dns.xxx.xxx.cnAddress:xxx.xxx.xxx.xxxpy...

weixin_29463345的博客 378

查找【优快云】- 人工客服

【代码】查找【优快云】- 人工客服。

👨‍💻 前端开发者 | 技术分享者 1403

华为OD机试真题 2026-9-2【查找幸运数】

华为OD机试真题 新系统【查找幸运数】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【查找幸运数】多语言题解。

qq_45776114的博客 500

Python 的 subprocess 介绍及如何使用

subprocess模块提供了一组函数和类,用于创建和管理子进程。这些子进程可以是外部应用程序、shell 命令,或者是其他任何可执行文件。通过subprocess,我们可以控制子进程的输入和输出,获取其执行结果,甚至改变其行为。Python 的subprocess模块为从 Python 脚本中启动和管理子进程提供了强大的工具。无论是简单的命令执行还是复杂的进程交互,subprocess都能满足需求。然而,在使用时,需要注意安全性、编码问题和潜在的阻塞问题。

cc20100608的专栏 7666

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

python中subprocess模块subprocess.run,subprocess.getoutput,subprocess.Popen、subprocess.call的使用

python中subprocess模块subprocess.run,subprocess.getoutput,subprocess.Popen、subprocess.call的日常使用

Yy 2万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

subprocess超时、编码、管道处理难题全解决(一线专家实战经验分享)

解决Python subprocess模块执行shell命令的超时、编码与管道难题,分享一线实战经验。涵盖多场景应用、异常处理技巧及跨平台编码适配方案,提升脚本稳定性与执行效率。值得收藏的实用指南,点击了解详情。

FuncIsle的博客 593

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Python 的 subprocess

小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

2401_83703951的博客 1099

python 通过 subprocess 执行命令,重定向实时输出

环境:python 3.6 下面的例子,通过 subprocess 执行命令,重定向并实时输出,可修改重定向到文件或其他。 (注意:例子只适用于,遇到错误就停止执行的命令或脚本。) 一、执行 ping 命令 import subprocess import sys # 常用编码 GBK = 'gbk' UTF8 = 'utf-8' # 解码方式...

weixin_30402085的博客 2149

Python:subprocess模块

简介:subprocess是子流程,即进程的意思,该模块可以启动一个新进程,并连接到它们的输入/输出/错误管道,从而获取返回值。 常用方法和接口: 1、subprocess.run() 2、subprocess.call() 3、subprocess.check_call() 4、subprocess.getstatusoutput() 5、subprocess.getoutput() 6、subprocess.check_output() 7、subprocess.Popen() subprocess.r

we chat:玩转测试开发 4793

python实现批处理--subprocess模块的使用

python实现批处理 subprocess模块的使用 python调用exe文件

JM-Nie的博客 2763

python常用库学习四——subprocess

Python的`subprocess`库主要用于启动新的应用程序或进程,并与它们的输入/输出/错误管道进行交互。以下是`subprocess`库的一些主要用途:1. 运行外部命令:你可以使用`subprocess`库运行任何在命令行下可以运行的命令或程序。2. 交互式进程通信:你可以使用`subprocess`库启动一个新的进程,并通过其标准输入、输出和错误管道与之交互。比如,你可以发送数据给进程的标准输入,或者读取进程的标准输出和错误输出。

yw1013的博客 4754

Python 中 subprocess.run 与 subprocess.Popen 解析

和并非互斥,而是互补。前者适合绝大多数日常任务,后者则为复杂场景提供必要控制力。理解它们的参数、行为差异及适用边界,是编写健壮、高效系统脚本的关键。默认使用;仅在确实需要流式处理或交互时,才退回到Popen;始终考虑安全性、可移植性和错误处理。通过合理选择和正确使用这两个接口,你可以在 Python 中高效、安全地集成任何外部命令或程序。

bill的博客 1274

python subprocess pipe_python subprocess pipe 实时输出日志的操作

* test11.pyimport timeprint "1"time.sleep(2)print "1"time.sleep(2)print "1"time.sleep(2)print "1"* test.pyimport subprocessp = subprocess.Popen("python test11.py", shell=True, stdout=subprocess.PIPE)#...

weixin_36488589的博客 961

Python脚本如何调用CosyVoice3?subprocess执行命令行指令

通过Python的subprocess模块启动并管理CosyVoice3语音合成服务,实现无人值守的批量音频生成。结合端口检测、服务等待、HTTP请求模拟与容错机制,构建稳定高效的自动化流水线,适用于方言教学、客服语音等场景。

weixin_36464343的博客 1048

python 通过 subprocess.Popen执行命令,重定向实时输出

执行命令 import subprocess import sys 常用编码 GBK = 'gbk' UTF8 = 'utf-8' 解码方式,一般 py 文件执行为utf-8 ,cmd 命令为 gbk current_encoding = GBK popen = subprocess.Popen('ping www.baidu.com', shell = True, ...

灵感点滴的分享 1845

subprocess 模块(了解)

一.引入 subprocess模块是2.4版本中新增的模块, 它允许您生成新进程,连接到它们的 输入/输出/错误 管道,并获得它们的返回码(状态信息), 该模块的目的在于取代几个较旧的模块和功能 os.system os.spawn* os.popen* popen2.* commands.* 官方文档 : https://docs.python.org/2/library/subprocess.html?highlight=subprocess#module-subprocess 一. subproc

Shawn派大星 1834

Python之subprocess模块

模块用于创建和管理子进程。通过它,可以在Python脚本中执行外部命令或程序。常见的用法包括:执行Shell命令。获取命令的输出。控制命令的输入、输出和错误流。管道是一种进程间通信机制,用于将一个进程的输出传递给另一个进程的输入。在subprocess模块中,可以通过设置stdout=PIPE将命令的输出重定向到管道,从而在Python中捕获并处理命令的输出。

2501_90212852的博客 722

掌握进程控制,subprocess库让你事半功倍

在Python编程中,我们经常需要执行外部命令或程序,比如调用系统命令、运行其他程序等。这些操作往往涉及到进程的创建和管理。Python的subprocess库正是为此而生,它提供了一个强大的接口来创建和管理子进程。通过这个库,我们可以轻松地执行外部命令,获取它们的输出,并进行进程间通信。subprocess库是Python中一个强大且灵活的进程控制工具,它允许我们以多种方式执行和管理外部命令。通过本文的介绍,我们了解了如何使用subprocess的基本函数,以及如何在实际场景中应用它们。

AIGC搞起 1313
上一篇: python ascii编码转换
下一篇: MySQL left join中and和where的区别
笑笑曦
博客等级 码龄14年 30粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值