打开批处理文件,但是当它打开时,我的python代码被停止,因为批处理文件在同一个窗口中打开

时间:2013-09-25 08:42:29

标签: python windows batch-file

所以我基本上是在特定时间尝试打开和关闭批处理文件(运行Minecraft服务器)。困扰我的事情是,当文件打开时,它在与我的脚本相同的窗口中这样做,因此基本上停止了我的代码,这显然意味着必须手动关闭文件。我想知道是否有办法在一个单独的窗口中打开它。这是我到目前为止的代码:

import os
import time
print "updates ever 15 mins = 0.25 hours"
hours = input("Current time (nearest 0.25 hour): ")
x = input("Opening time (hour): ")
y = input("Closing time (hour): ")
os.system ("cls")
os.chdir ("C:\\Users\\USERNAME\\Desktop\\Server")
while True:
    os.system("cls")
    time.sleep(900)
    hours += 0.25
    difx = x - hours
    dify = y - hours
    if difx == 0:
        os.popen("run.bat")
    if dify == 0:
        os.system ("say  CLOSING in 10 SECONDS")
        time.sleep (10)
        os.system ("stop")
        os.system ("taskkill /f /im cmd.exe")
    if hours == 25:
        hours = 1

stop是一个停止服务器运行并保存所有信息的命令,但保持窗口打开(因此taskkill命令)。任何帮助将非常感激。

1 个答案:

答案 0 :(得分:0)

替换os.popen(“run.bat”与os.startfile(“filepath \ run.bat”)应该有效。(谢谢)