python执行bat文件_python – 在Windows的后台运行.bat程序

我试图在新窗口中运行.bat文件(充当模拟器),因此它必须始终在后台运行.我认为创建一个新流程是我唯一的选择.基本上,我希望我的代码做这样的事情:

def startSim:

# open .bat file in a new window

os.system("startsim.bat")

# continue doing other stuff here

print("Simulator started")

我在Windows上,所以我不能做os.fork.

解决方法:

使用subprocess.Popen(未在Windows上测试,但应该有效).

import subprocess

def startSim():

child_process = subprocess.Popen("startsim.bat")

# Do your stuff here.

# You can terminate the child process after done.

child_process.terminate()

# You may want to give it some time to terminate before killing it.

time.sleep(1)

if child_process.returncode is None:

# It has not terminated. Kill it.

child_process.kill()

编辑:您也可以使用os.startfile(仅限Windows,未经过测试).

import os

def startSim():

os.startfile("startsim.bat")

# Do your stuff here.

标签:python,subprocess,process,batch-file,background

来源: https://codeday.me/bug/20190530/1186894.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值