У меня есть Python код, который создает скриншот рабочего стола (png) и сохраняет его локально, затем подключается через sftp к удаленному серверу и обновляет файл скриншота удаленно. используя sftp. Это работает отлично, однако, если удаленный сервер sftp выключается, сценарии заканчиваются ошибкой. Как игнорировать и пропустить ошибку, если sftp удаленного сервера отключается, я хочу, чтобы скрипт не останавливался и вместо этого сохранял файл локально.
import mss
import mss.tools
import datetime
import time
import pysftp as sftp
count = 0
while count < 100000000:
with mss.mss() as sct:
monitor = sct.monitors[1]
timestr = time.strftime("%Y%m%d-%H%M%S")
sct.compression_level = -1
output = "d:/screen/work/" + (timestr) + ".png".format(**monitor)
sct_img = sct.grab(monitor)
mss.tools.to_png(sct_img.rgb, sct_img.size, output=output)
print(output)
s = sftp.Connection(host='127.0.0.1', username='admin', password='********')
local_path = "" +(output)+ ""
remote_path = ""
s.put(local_path, remote_path)
s.close()
time.sleep(10)
count += 1
Я пробовал это
import mss
import mss.tools
import datetime
import time
import pysftp as sftp
count = 0
while count < 100000000:
with mss.mss() as sct:
monitor = sct.monitors[1]
timestr = time.strftime("%Y%m%d-%H%M%S")
sct.compression_level = -1
output = "d:/screen/work/" + (timestr) + ".png".format(**monitor)
sct_img = sct.grab(monitor)
mss.tools.to_png(sct_img.rgb, sct_img.size, output=output)
print(output)
try:
s = sftp.Connection(host='127.0.0.1', username='admin', password='********')
except:
print("Couldn't connect to ftp")
return False
local_path = "" +(output)+ ""
remote_path = ""
s.put(local_path, remote_path)
s.close()
time.sleep(10)
count += 1
, но возвращает эту ошибку
s = sftp.Connection(host='127.0.0.1', username='admin', password='******')
^
IndentationError: expected an indented block