我有一个非常复杂的Python脚本,有时它只是一个错误,调试它的唯一方法是重新启动它,因为其他一切都没有意义,错误会立刻回来(我已经尝试了很多东西,所以请不要专注于那个)
我想要一个.bat脚本(不幸的是我在Windows上)重启我的python脚本,无论何时结束。 另一个python脚本也没问题。
我该怎么做? 提前致谢
答案 0 :(得分:0)
set env=python.exe
tasklist /FI "IMAGENAME eq python.exe" 2>NUL | find /I /N "python.exe">NUL if "%ERRORLEVEL%"!="0(
start python script.py
)
从python执行python的其他方式
import subprocess
from subprocess import call
def processExists(processname):
tlcall = 'TASKLIST', '/FI', 'imagename eq %s' % processname
# shell=True hides the shell window, stdout to PIPE enables
# communicate() to get the tasklist command result
tlproc = subprocess.Popen(tlcall, shell=True, stdout=subprocess.PIPE)
# trimming it to the actual lines with information
tlout = tlproc.communicate()[0].strip().split('\r\n')
# if TASKLIST returns single line without processname: it's not running
if len(tlout) > 1 and processname in tlout[-1]:
print('process "%s" is running!' % processname)
return True
else:
print(tlout[0])
print('process "%s" is NOT running!' % processname)
return False
if not processExists('python.exe')
call(["python", "your_file.py"])