Я устанавливаю сервер под управлением Windows 10 с WampServer64.Он предоставляет кнопки на веб-странице для создания снимков экрана сервера и других действий с pyscreenshots и pyautogui (как показано ниже).
Мои сценарии python отлично работают локально с cmd, но когда я запускаю их с веб-сайтаони останавливаются, когда сценарий встречает метод pyscreenshot или метод pyautogui, такой как pyscreenshot.grab (). Я искал проблемы между WampServer и python, но я видел только то, что касается CGI, что не является моей проблемой.Я все равно попробовал, но это не сработало
Вот логическая схема моего кода:
<input type="button" value="Get Screenshot" onclick="GetScreenshot()" />
function GetScreenshot(){
$.ajax({
url:"handle_screenshots.php",
type: "POST",
data:{action:'start_screenshots'},
success: function(result) {
alert(result);
}
});
};
if ($_POST['action'] == 'start_screenshots') {
$path = $_SESSION['path'];
$duration = 1000;
pclose(popen("start /B cmd /C py C:\\wamp64\\www\\RTS_WebApp\\python\\screenshot.py $duration \"$path\" >NUL 2>NUL", 'r'));
echo "Screenshots started";
}
import pyscreenshot, datetime, time, sys, re, os
if __name__ == '__main__':
duration = sys.argv[1]
if ':' in duration:
wordList = re.sub("[^\w]", " ", duration).split()
if (len(wordList) == 3) :
duration = int(wordList[0]) * 3600 + int(wordList[1]) * 60 + int(wordList[2])
else:
duration = int(duration)
i = 1
left = 140
top = 70
right = 900
bottom = 550
start_time = time.time()
while duration > (time.time() - start_time):
name = "img_{}.png".format(i)
img = pyscreenshot.grab()
img = img.crop((left, top, right, bottom))
img = img.resize((img.size[0], img.size[1]))
img.save("C:\\wamp64\\www\\RTS_WebApp\\static\\img\\current.png")
i += 1
РЕДАКТИРОВАТЬ: Я только что попробовал с XAMPPи это работает, так что я думаю, что есть проблема между Python и WAMP