Форум сайта python.su
Добрый день
Пишу программу на питоне для телефона Nokia E50
Смысл в том что она делает снимок камерой и заливает его на фтп раз в какой то интервал.
Все работает но не долго, бывает через 4 снимка а бывает через 50 выскакивает ошибка что либо не может снять снимок или не может подключиться к фтп. Как побороть не могу разобраться.
Хотел сделать чтоб один скрипт вызывал другой и таким образом обеспечить перезапуск при сбое, но наткнулся что в той версии что стоит в симбиане в модуле os не работает команда spawnl
может кто подскажет как сделать так чтоб программа продолжала работать после ошибки в библиотеке?
Отредактировано (Янв. 19, 2011 13:29:46)
Офлайн
Оборачивать в try и except, очевидно же.
Запускать скрипт можно из e32.start_server, писал об этом здесь http://habrahabr.ru/blogs/PyS60/77452/
Офлайн
А тут нужно использовать исключения, тобиш:
def function():
try:
instruction
except:
pass
Офлайн
спасибо теперь допонял смысл
а то я думал наоборот
команда
try:
что делать если выполнилась
except:
что делать если не выполнилась
сегодня проверю
Офлайн
Не совсем.
Вот так:
try:
Что надо делать.
except:
Что надо, если не выполнилось.
else:
# Ветка else не обязательно
Что надо, если выполнилось.
Отредактировано (Янв. 19, 2011 16:20:34)
Офлайн
R.Ll.S.h57Да я понял
Не совсем.
Вот так:try:
Что надо делать.
except:
Что надо, если не выполнилось.
else:
# Ветка else не обязательно
Что надо, если выполнилось.
Офлайн
teilвот поэтому сначала нужно читать учебники, а только потом копипастить код…
а то я думал наоборот
Офлайн
igor.kaistвот вот. я перерыл infopython, start with python и ещё один какой то безымянный учебникteilвот поэтому сначала нужно читать учебники, а только потом копипастить код…
а то я думал наоборот
Офлайн
Прошу сильно не ругать может за глупые вопросы
но блин все вроде сделал как надо а ошибки продолжают выскакивать и останавливать работу программы:(
Вот листинг кода:
import time
import sys
try:
sys.modules = __import__('btsocket')
except ImportError:
pass
import socket
import camera
from ftplib import FTP
import sysinfo
import httplib
tstart=0
while 1<2:
print time.strftime(“%d-%m-%Y %H:%M:%S”, time.localtime()), sysinfo.free_ram()
curh = int(time.strftime(“%H”, time.localtime()))
if (curh > 6) & (curh < 22):
t=int(time.time())
if t-tstart>300:
tstart=t
print time.strftime(“%d-%m-%Y %H:%M:%S”, time.localtime()), “ cam”
try:
i=camera.take_photo()
i.save(u'C:\\1234.jpg')
print time.strftime(“%d-%m-%Y %H:%M:%S”, time.localtime()), “ connect”
apid = 1
apo=socket.access_point(apid)
socket.set_default_access_point(apo)
print time.strftime(“%d-%m-%Y %H:%M:%S”, time.localtime()), “ ftp connect”
ftp=FTP ('46.162.2.12','login','pass',15)
f=open(“C:\\1234.jpg”)
ftp.storbinary(“STOR cam1.jpg\n”,f)
f.close()
ftp.close()
print time.strftime(“%d-%m-%Y %H:%M:%S”, time.localtime()), “ file close”
conn.close()
except:
pass
else:
print time.strftime(“%d-%m-%Y %H:%M:%S”, time.localtime()), “ wait”
i=camera.take_photo()
i.save(u'C:\\1234.jpg')
print time.strftime(“%d-%m-%Y %H:%M:%S”, time.localtime())
time.sleep(3)
Офлайн
У вас эта строка
i=camera.take_photo()
Офлайн