首页 > 其他分享 >subprocess的使用

subprocess的使用

时间:2023-09-11 17:00:39浏览次数:36  
标签:exe python 路径 subprocess 场景 使用 执行

subprocess的使用

windows下,如果我们想在不同的路径下,先执行一个脚本,后又要执行一个exe跑程序,然后又要对exe结果进行分析,在这种情况下,如果手动一个一个执行,肯定是可以的,但是违背了智能化精神,智能化就是要求批次处理,智能化顺序执行,因此,尽可能减少手工劳动完成想要的任务是code的一个愿景。那么对于上述的场景,能不能实现呢?答案是可以的。在这里就用到了python里的subprocess库。

其实,这里有几种场景:

  • 脚本的执行,通常使用python xxx.py, 这种场景要注意,有的必须要在脚本目录执行,因为在脚本里可能涉及路径问题,搞不好,你在cmd下执行脚本,会爆出XXX not found的错误,因此,在windows下执行脚本,也要跟linux下一样,路径要搞对。
  • 可执行文件的运行,通常是在文件路径,直接双击,就可以跑起来,也要注意路径问题。

可能还有其他的场景,不过以上的基本够用了。

python subprocess这个库就能够很好的把上述的场景覆盖,然后得到你想要的结果。其实很简单,语法如下:

  • subprocess.check_call([sys.executable, script.py], cwd=working_dir) 对应python XXX.py的场景
  • subprocess.check_call([exe_path + "xxx.exe"], cwd=exe_dir)对应双击执行exe的场景

在很多时候,可能不止执行一次程序,会在不同的路径,将上述的过程执行一遍,那么就在外面加for循环就好了。

标签:exe,python,路径,subprocess,场景,使用,执行
From: https://www.cnblogs.com/bonne-chance/p/17693941.html

相关文章

  • 使用Jenkins的流水线生产Allure报告发送到企业微信
    pipeline{agentanyenvironment{name="${JOB_NAME}"times="${currentBuild.duration}"task="${BUILD_ID}"logs="${ChangeLog}"}stages{stage('拉取代码'){steps{gitcred......
  • 探讨使用API的优点及其在企业级应用中的作用
    通过使用API,开发者可以快速、高效地构建功能丰富、用户体验良好的应用程序,而无需从头开始收集和处理所有数据。同时,API也可以帮助企业和机构提高效率、创造新的商业模式和创新服务。本文将探讨使用API的优点及其在企业级应用中的作用。一、使用API的优点快速开发和部署使用API可以......
  • 使用maven
    1.首先创建一个工程2.创建一个模块此时一个javase模块已经创建成功如果要转换成一个web工程方式1:main-->webapp-->WEB-INF-->web.xml在main文件夹下创建一个webapp文件夹在其下面创建一个WEB-INF文件夹接着在WEB-INF创建一个web.xml文件并在文件在中加入......
  • H3C服务器使用hREST工具命令安装系统
    H3C服务器hREST命令行工具使用Python语言开发,主要基于HTTPs协议和Redfish、RESTful和IPMI接口协议,是一款便于用户管理服务器的客户端工具。用户可通过本工具的查询、设置等命令对服务器进行管理。hREST1.23工具下载地址:http://www.h3c.com/cn/BizPortal/DownLoadAccesso......
  • 【心得】TP6,使用phpspreadsheet库进行EXCEL的数据导入导出
    在日常开发中,我们会遇到大批量的数据导出以及导入,之前的PHP旧库现在已经停更了,如下提示:composerrequirephpoffice/phpexcelPackagephpoffice/phpexcelisabandoned,youshouldavoidusingit.Usephpoffice/phpspreadsheetinstead.phpoffice/phpexcel包已废弃,应避免......
  • linux服务器上的nginx服务、mysql服务和docker里面的php服务配合使用
    之前有个老项目是nginx1.22.0+mysql5.7+php5.6的环境在跑,也就是常说的lnmp环境。但是最近出了一个新的需求,这台服务器上要跑一个php7.3的项目,mysql5.7还可以用,nginx1.22.0也可以用,主要是php的环境要升级到7.3,那么方案应该怎么实施呢,大概有下面几个思路:1、再独立安装一个php7.3的......
  • 【JAVA日常】关于jeecgBoot @Dict注解的使用不生效问题
    项目中后端使用jeecgBoot开发,最近正好遇到一些关于改造和使用@dict字典注解的问题,正好记录一下,以防忘记。1、注解不生效问题1今天公司同事问,说这个注解加上了怎么还不起作用呢。我们就检查了代码中的使用。注解的添加以及使用都正常,然后排查发现接口调用时未执行字典的切面,那么......
  • vue可以使用this.$set()来进行强制更新,进而解决问题
    可以使用this.$set()来进行强制更新,进而解决问题对象操作:三个参数:this.$set("改变的对象","改变的对象属性","值")数组操作: 三个参数:this.$set("数组","下标","值")......
  • kafka3.x 简单使用
    ***保证kafka和zookeeper已经在linux上进行了安装,目录需要改为自己的目录 ***kafka2.8之后引入了kraft机制,不用zookeeper也能启动参数介绍 --create创建一个topic --topic[your_topic_name]创建的topic的信息 --describe描述信息 --bootstrap-server[host_url......
  • 02使用vivado和Modelsim进行仿真
    软件版本:vitis2021.1(vivado2021.1)操作系统:WIN1064bit硬件平台:适用AMD-XILINXA7/K7/Z7/ZU/KU系列FPGA登录"米联客"SOC|SOC社区-www.uisrc.com视频课程、答疑解惑!1概述仿真是每个初学者必须学会的一项技能,因为FPGA程序编译时间往往很长,所以对程序进行仿真就成为了校验程序......