Python Using EXE

2023-11-16

OS
This method has its disadvantage, if we want to stop this process. We need do it by ourselves except seize the terminal SIGNAL of this process by another shell.

import os

os.system('F:/My_Tool/evalvid-2.7-w32/psnr.exe 1920 1080 420 F:/My_Tool/evalvid-2.7-w32/Basketball_1920x1080_frame2_confirm.264.yuv F:/My_Tool/evalvid-2.7-w32/Basketball_1920x1080_frame2_confirm_copy.yuv > F:/My_Tool/evalvid-2.7-w32/ref_psnr.txt')

ShellExecute
ShellExecute(hwnd, op , file , params , dir , bShow )
其参数含义如下所示。
hwnd:父窗口的句柄,如果没有父窗口,则为0。
op:要进行的操作,为“open”、“print”或者为空。
file:要运行的程序,或者打开的脚本。
params:要向程序传递的参数,如果打开的为文件,则为空。
dir:程序初始化的目录。
bShow:是否显示窗口。

win32api.ShellExecute(0, 'open', 'F:/My_Tool/evalvid-2.7-w32/psnr.exe','1920 1080 420 F:/My_Tool/evalvid-2.7-w32/Basketball_1920x1080_frame2_confirm.264.yuv F:/My_Tool/evalvid-2.7-w32/Basketball_1920x1080_frame2_confirm_copy.yuv >F:/My_Tool/evalvid-2.7-w32/ref_psnr2.txt','',1)   

This method has its disadvantage, this method just starts one process and do to next shell of python. But on the other hand, this may be the
better way to start a process without block.

CreateProcess
CreateProcess(appName, commandLine , processAttributes , threadAttributes , bInheritHandles ,dwCreationFlags , newEnvironment , currentDirectory , startupinfo )
其参数含义如下。
appName:可执行的文件名。
commandLine:命令行参数。
processAttributes:进程安全属性,如果为None,则为默认的安全属性。
threadAttributes:线程安全属性,如果为None,则为默认的安全属性。
bInheritHandles:继承标志。
dwCreationFlags:创建标志。
newEnvironment:创建进程的环境变量。
currentDirectory:进程的当前目录。
startupinfo :创建进程的属性。
This process is useless.

import win32api
import win32process
import win32event
import os

handle = win32process.CreateProcess('F:/My_Tool/evalvid-2.7-w32/psnr.exe','1920 1080 420 F:/My_Tool/evalvid-2.7-w32/Basketball_1920x1080_frame2_confirm.264.yuv F:/My_Tool/evalvid-2.7-w32/Basketball_1920x1080_frame2_confirm_copy.yuv > F:/My_Tool/evalvid-2.7-w32/ref_psnr2.txt', None , None , 0 ,win32process. CREATE_NO_WINDOW , None , None , win32process.STARTUPINFO())

win32event.WaitForSingleObject(handle[0], -1) #win32process.TerminateProcess(handle[0],0)

Subprocess Popen
This method is the best method I have seen. Though it has block which I need as I should run the same exe for many times to do my batch processing.

import os
from subprocess import Popen,PIPE

cmda = 'F:/My_Tool/evalvid-2.7-w32/psnr.exe 1920 1080 420 F:/My_Tool/evalvid-2.7-w32/Basketball_1920x1080_frame2_confirm.264.yuv F:/My_Tool/evalvid-2.7-w32/Basketball_1920x1080_frame2_confirm_copy.yuv > F:/My_Tool/evalvid-2.7-w32/ref_psnr2.txt'

p2 = Popen(cmda, shell = True, stdout = PIPE, stderr = PIPE)

Reference:

http://blog.csdn.net/igolang/article/details/8524323
http://blog.csdn.net/menglei8625/article/details/7494094
http://blog.csdn.net/gray13/article/details/7044453

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python Using EXE 的相关文章

  • C++ Template Class List

    转载请注明 http blog csdn net c602273091 article details 50717999 Introduction STL STL Standard Template Library 标准模板库 是惠普实验室
  • 写论文注意事项

    文献检索 搜索引擎的高级功能 搜索引擎主要www google com和scholar google com www baidu com则仅在检索中文时稍好点 英文很差 用处不大 我们常用的google侧重于网页的检索 Scholar则主要
  • Some Laws in IT

    Moore s Law 摩尔定律是由英特尔 Intel 创始人之一戈登 摩尔 Gordon Moore 提出来的 其内容为 当价格不变时 集成电路上可容纳的元器件的数目 约每隔18 24个月便会增加一倍 性能也将提升一倍 换言之 每一美元所
  • Jitter Removal in Image and Sequence

    去除重影 消抖 在 jitter removal images and video sequences Using robust decision Based Adaptive spatio temporal median Algorith
  • Conference and Journal Level in 2016

    中国计算机学会推荐国际学术会议和期刊目录 2015 年 中国计算机学会 中国计算机学会推荐国际学术期刊 计算机体系结构 并行与分布计算 存储系统 一 A 类 序号 刊物简称 刊物全称 出版社 网址 1 TOCS ACM Transactio
  • Video Evaluation by Python

    Here is the code to calculate for PSNR and SSIM of YUV My code has its advantage that it can process the problem by batc
  • Latex Skills

    ModernCV http 519488126 blog 163 com blog static 722401602014010555221 Paper 1 Blank 两个quad空格 a qquad b a qquad b 两个m的宽度
  • Evaluate Video Quality

    How to evaluate video PSNR and SSIM PSNR is easy to calculate http blog csdn net c602273091 article details 49861817 SSI
  • ML Introduction

    Task of ML Supervised Learning Classification and regression Unsepervised Learning Clustering Density Estimation Reducti
  • Visual Assist X AND MSDN

    assist X 推荐 这款插件是visual studio或者vc的插件 没想到vs用起来也可以这么爽 用起来居然比sourceinsight还好用 好用到哭 好用到哭 好用到哭 自动补全 补全的时候还可以看到对这个补全的东西的介绍 鼠标
  • SourceInght And Sublime Text 2 Using Skills

    工欲善其事 必先利其器 Sourceinsight 加入时间 http my oschina net xDreamYY blog 228814 Sourceinsight 加入快捷键 http www cnblogs com wangqig
  • 有实力的人才能谈梦想

    我总是徘徊 在犹豫 觉得自己做不到 只是在苟延残喘摆了 所谓的目标也不可能实现 今天我发现我做到了 原来也不是那么遥不可及 是自己不够自信 不够淡定 有实力的人聊梦想 没理想的人就想想怎么混工作吧 有实力的人 自信 坚定的毅力 不怕失败 淡
  • memset in C++ and C

    definition memset是计算机中C C 语言函数 将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值 第一个值为指定的内存地址 块的大小由第三个参数指定 这个函数通常为新申请的内存做初始化工作 其返回值
  • IMAGE REGISTRATION

    Classification Nature area based and feature based Different viewpoints multiview analysis image from different viewpoin
  • Latex Picture And Table Setting

    Four Picture in one column begin figure htb begin minipage b 48 linewidth centering centerline includegraphics width 4 0
  • Python Using EXE

    OS This method has its disadvantage if we want to stop this process We need do it by ourselves except seize the terminal
  • File Processing by Python

    Go through all the file in destination path import os import sys def GetFileList dir fileList newDir dir if os path isfi
  • ML Impossible and Rescure

    No Rule to Define will cause conflict Using available data to estimate target function if without rule target is unknown
  • Binary Classification Core PLA

    Target Step Verify My verification Pocket Algorithm Pros Cons of PLA
  • Process in Shell

    PID current process Get Process Get Process Select Object Name Get Process processname jm Select Object Get Process proc

随机推荐

  • docker dbus-x11

    本来想用terminator启动nvidia docker 显示出图形界面的 结果发现启动的时候出问题了 terminator 1 dbind WARNING 07 31 53 725 Couldn t connect to accessi
  • Java接口登录实现页面跳转

    方式一 在Java中 可以通过使用接口和实现类来实现页面跳转功能 以下是一个简单的示例代码 首先 创建一个接口 例如LoginService public interface LoginService void login String u
  • linux设备驱动归纳总结(六):1.中断的实现

    一 什么是中断 中断分两种 1 中断 又叫外部中断或异步中断 它的产生是由于外设向处理器发出中断请求 其中外部中断也有两种 这是由配置寄存器设定的 普通中断请求 IRQ 和快速中断请求 FIQ 一般地 linux下很少使用快速中断请求 2
  • OVP电路应用(一)_12V电源_DIO1280

    目录 前言 一 基本信息 二 基本电气特性 1 PIN定义 2 电气特性 3 OVP值的设置 4 时序 5 其他 三 实际设计案例 1 电路原理图 PCB Layout 2 测试 3 问题与对策 四 USB的VBUS应用 其他举例 1 电路
  • 关于DecimalFormat类的数字格式化

    文章目录 基本格式化 不同特殊符号代码的格式 不同符号的使用 当我们遇到小数时 必定会设置保留小数的位数 也可能会涉及数字的格式转换 那么在Java中肯定也有这样的一个类 就是DecimalFormat类能帮助我们方便快捷的解决此类小数格式
  • Atlantis

    点击打开链接 Description There are several ancient Greek texts that contain descriptions of the fabled island Atlantis Some of
  • error: expected ';', ',' or ')' before '&' token 解决方法

    在用Devcpp验证函数 引用传递 的时候 出现了错误提示 Error expected or before token 源代码如下 include
  • vue3 下载router之后,路由未生效及控制台警告问题

    在控制台页面会报出警告 Failed to resolve component router link 无法识别router link import createApp from vue import App from App vue im
  • 前端常见的适配方法

    一 固定布局 pc端 静态布局 以像素作为页面的基本单位 不管设备和浏览器宽度 只设计一套尺寸 这种不太现实 二 根据不同根据不同的分辨率 加载不同的CSS样式文件 可切换的固定布局 自适应布局
  • 关于考试管理系统的实现

    关于考试管理系统的实现 背景 随着各地人事机构招考需求不断增强 规模不断扩大 考务管理工作量不断加大 尤其是报名 缴费 考场编排和准考证制作这几项非常重要且有繁琐的工作 若是再依靠传统的线下人工方式进行 那将浪费大量的人力 时间和资源 针对
  • 单片机毕业设计 RFID智能门禁系统

    文章目录 1 简介 2 绪论 2 1 课题背景与目的 3 射频识别 3 1 射频识别技术 3 2 射频识别模块 3 2 1 RFID模块 3 2 2 RFID模块组成 4 系统设计 4 1 系统架构 4 1 1 硬件部分 4 1 2 软件部
  • 使用 git 提交到指定远程分支

    使用 git 提交到指定远程分支 git add git commit 或者使用 git commit m messges git pull origin 远程分支名 相当于指定分支的代码与当前分支的代码合并到了一起 git push or
  • 1分钟部署一个属于自己的网站,借助云开发静态网站部署属于自己的网站

    今天来教大家部署一个属于自己的第一个静态网站 因为这里借助小程序云开发的静态服务器资源 所以可以轻松的实现自己网站的部署 部署完以后可以在电脑浏览器 手机浏览器 微信公众号里面展示 老规矩 先看效果图 简单起见 我这里写一个最简单的html
  • IEEE 802.3以太网帧封装

    要求 1 要求画出界面 以太网帧的数据部分 源MAC地址和目的MAC地址均从界面输入 2 计算后的校验和字段和封装后的结果可以从界面上输出 3 生成多项式G X X8 X2 X1 1 或者生成多项式G X X32 X26 X23 X22 X
  • SpringBoot-基础篇复习(全)

    本文包含SpringBoot基础篇的所有知识点 大家一起来学习吧 开启一段新的旅程 加油吧 springboot是由Picotal团队提供的全新框架 用来简化spring的搭建和开发过程的配置 因为spring的配置比较繁琐 故引入了spr
  • 不吐不快:程序员到底有没有前途(一位前辈写的)

    早上到单位 看昨天晚上QQ群里的内容 有人在问做程序员怎么样 马上就有人跳出来告诉他程序员又苦 又累 要求又高 赚得也不比人多 而且30岁以后肯定失业那一套 对程序员的前途 自己有自己的想法 但这没什么好说的 而且每个人都有适合本人的路 也
  • ceph分布式存储-常见MON故障处理

    1 常见 MON 故障处理 Monitor 维护着 Ceph 集群的信息 如果 Monitor 无法正常提供服务 那整个 Ceph 集群就不可访问 一般来说 在实际运行中 Ceph Monitor的个数是 2n 1 n gt 0 个 在线上
  • [转]边界值法中的上点、内点和离点的定义

    上点 是指边界上的点 无论此时的域是开区间还是闭区间 开区间的话 上点就是在域外 闭区间的话 上点就是在域内 离点 是指离上点最近的点 这里就跟是闭区间还是开区间就有关系了 如果是开区间 那么离点就在域内 如果是闭区间 那么离点就在域外 内
  • TCP的keep-alive机制分析

    TCP中的keep alive机制 问题和解决思路 详细内容 缺陷分析 问题和解决思路 建立tcp连接后 双方互相发送信息 但是可能存在的情况是双方在处理数据 暂时并不会互相发送数据 那么这个时候如何判断双方连接是否依然正常 而没有意外断开
  • Python Using EXE

    OS This method has its disadvantage if we want to stop this process We need do it by ourselves except seize the terminal