我整理了一个脚本,目的是每5分钟检查一次程序是否正在运行,如果没有运行则将其打开。该程序在Python 2.7.10中可以正常工作,但在Python 3.7.3中则不能。在最新版本中,last_line = output.strip().split('\r\n')[-1]
代码行出现以下错误:
TypeError:需要一个类似字节的对象,而不是'str'。
我不是程序员,而是从各处获取片段来编写脚本的,所以有人可以帮我编辑Python 3.7.3的脚本吗?
这是我的代码:
import datetime, os, subprocess, time
startTime = datetime.datetime.now()
endTime = datetime.datetime.now() + datetime.timedelta(hours = 3)
while datetime.datetime.now() < endTime:
time.sleep(300)
process_name = 'Epaswmm5.exe'
call = 'TASKLIST', '/FI', 'imagename eq %s' % process_name
output = subprocess.check_output(call)
last_line = output.strip().split('\r\n')[-1]
print(str(datetime.datetime.now()) + " - " + str(last_line.lower().startswith(process_name)))
if last_line.lower().startswith(process_name) == False:
os.startfile("C:\Program Files (x86)\EPA SWMM 5.1\Epaswmm5.exe")