문제

전화 위치에 따라 전화 프로필을 수정 해야하는 파이썬 스크립트를 만들었습니다. Scriptshell 아래에서 실행되어 훌륭하게 작동합니다.

문제는 "부팅 업"에 실행 된 "sis"스크립트와 함께 매달린다는 것입니다.

제 질문은 코드에 어떤 문제가 있는지, 또한 특수 매개 변수를 Ensymble에 전달 해야하는지 여부입니다.

import appuifw, e32, sensor, xprofile
from appuifw import *

old_profil = xprofile.get_ap()

def get_sensor_data(status):
    #decide profile

def exit_key_handler():
    # Disconnect from the sensor and exit
    acc_sensor.disconnect()
    app_lock.signal()

app_lock = e32.Ao_lock()

appuifw.app.exit_key_handler = exit_key_handler
appuifw.app.title = u"Acc Silent"
appuifw.app.menu = [(u'Close', app_lock.signal)]
appuifw.app.body = Canvas()
# Retrieve the acceleration sensor
sensor_type= sensor.sensors()['AccSensor']
# Create an acceleration sensor object
acc_sensor= sensor.Sensor(sensor_type['id'],sensor_type['category'])
# Connect to the sensor
acc_sensor.connect(get_sensor_data)

# Wait for sensor data and the exit event
app_lock.wait()

스크립트는 Ensymble 및 개발자 인증서를 사용하여 Boot에서 시작됩니다.

미리 감사드립니다

도움이 되었습니까?

해결책

나는 종종 내 스크립트 맨 위에 그런 것을 사용합니다.

import os.path, sys
PY_PATH = None
for p in ['c:\\Data\\Python', 'e:\\Data\\Python','c:\\Python','e:\\Python']:
    if os.path.exists(p): 
        PY_PATH = p
        break
if PY_PATH and PY_PATH not in sys.path: sys.path.append(PY_PATH)

다른 팁

Xprofile은 표준 라이브러리가 아니므로 경로를 추가해야합니다. 내 생각에 SIS로 달리면 Xprofile을 찾지 못하고 전화를 끊을 것입니다. SIS를 출시 할 때 사용자가이를 별도로 설치하거나 SIS 내부에 포함하도록 지시하십시오.

어디에 설치했을까요? 샘플로 Python Default Directory는 다음과 같습니다.


    # PyS60 1.9.x and above
    sys.path.append('c:\\Data\\Python')
    sys.path.append('e:\\Data\\Python')
    # Pys60 1.4.x or below
    sys.path.append('c:\\Python')
    sys.path.append('e:\\Python')

BTW는 깨끗한 출구를 만듭니다.


    appuifw.app.menu = [(u'Close', exit_key_handler)]
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top