我有一个Python脚本,该脚本每5分钟会捕获一次屏幕截图,当我在命令行中运行它时,它会很好地工作,它会捕获屏幕截图并将其保存到我想要的文件夹中。然后我创建了该脚本的可执行文件,它也可以正常工作。但是,真正的问题出在我尝试将可执行文件作为服务运行时。我希望此脚本在启动时在后台运行,所以我使用nssm(非吸吮服务管理器)来执行此操作。但是,当我创建一个服务并启动它时,它会启动,但不带任何屏幕截图。在该文件夹中看不到任何文件。
这是我的截图代码:
import datetime
import os
import sys
import time
import pyautogui
import schedule
def TakeSS():
TodayDate = datetime.datetime.now()
while True:
TodayDate = datetime.datetime.now()
if (TodayDate.hour==21):
break
CurrentFolder = os.getcwd()
fp = CurrentFolder +"\\" + TodayDate.strftime('%Y%m%d')
if os.path.exists(fp):
pass;
else:
os.mkdir(fp)
# Take screensot
pic = pyautogui.screenshot()
#Name the file with data and time
ts = time.strftime("%Y%m%d-%H%M%S")
filename = "screenshot"
filename += str(ts)
filename += ".png"
# Save the image
pic.save('{}\\{}'.format(fp,filename))
time.sleep(300)
是的,我还有另一个文件,该文件计算Cpu的空闲时间并将其存储到json文件中,该文件保存在同一文件夹中。它工作正常。创建服务后,我可以看到json文件,但没有截图文件。
通过我拥有的主文件,我可以从中调用这两个脚本。 谢谢。