Python subprocess 使用小结

接之前的一篇文章,Python pylink 使用小结1_attributeerror: module 'pylink' has no attribute '-CSDN博客

为了完成通过python调用小众的MCU不得不想其他方式去解决这个问题,找了很久,得知可以通过cmd命令行去调用jlink可以直接对小众的MCU进行通讯下载,就开始找可以使用cmd命令的模块,最后定位到了subprocess。

基础使用方法如下:

from subprocess import Popen, PIIPE

obj = Popen(['python','-V'],shell=True,stdin=PIPE,stdout=PIPE,stderr=PIPE)
data = obj.stdout.read().decode('gbk')
print(data)

# 建议单步调试尝试此代码,看的详细一点
# 输出的data是python的版本号

在cmd调用jlink命令如下:

E:\jlinkV6\JLink.exe -SelectEmuBySN 1234567 -device STM32XXX -if swd -speed 4000

说明:

E:\jlinkV6\JLink.exe  是我的jlink运行存放地址及可执行程序,具体位置与自己的jlink安装位置有关系。

1234567是我的jlink S\N 号,可自行更改,详细内容不做描述。

STM32XXX芯片型号,只要完成基本的jlink芯片内容添加到相关的文件中,在jflash中可以正常搜索使用就可以写到这里。

swd  swd通信方式

4000下载速度

Pythonsubprocess模块用于执行外部命令并与其进行交互。这个模块允许你创建新进程并连接到它们的输入、输出和错误流。通过subprocess模块,你可以在Python脚本中调用其他程序,并获取它们的输出结果。 引用中提到了一些包含在subprocess模块中的文件名,这些文件名可能是一些示例代码文件,用于演示subprocess模块的使用方法。 引用中的代码展示了如何使用subprocess模块的Popen和os.setpgrp函数。其中,Popen函数用于启动一个子进程,并且preexec_fn参数指定了在子进程执行前要执行的函数。这个示例中,首先调用os.setpgrp函数将子进程放入一个新的进程组中,然后通过os.killpg函数向进程组发送一个信号。 引用中的代码也展示了使用subprocess模块的Popen函数,但没有使用os.setpgrp函数。在这个示例中,通过os.kill函数向子进程发送一个信号。 总结起来,Pythonsubprocess模块提供了很多方法来执行外部命令,包括启动子进程并与其进行交互,以及向进程发送信号等操作。这个模块在实际开发中非常有用,可以与其他程序进行集成和交互。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [subprocessPython多进程模块](https://blog.csdn.net/m0_38039437/article/details/129088016)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值