2009-05-29 37 views
0

我做了一個python腳本,應該修改基於手機位置的手機配置文件。在ScriptShell下運行,效果很好。諾基亞N95和PyS60與傳感器和xprofile模塊

問題是,它掛起,都與「啓動」運行的「sis」腳本,以及沒有它。

所以我的問題是什麼是錯的代碼,以及我是否需要傳遞特殊參數來收斂?

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和我的開發人員證書啓動。

在此先感謝

+0

如何它「崩潰」?任何彈出對話框?任何Symbian錯誤代碼? ... – 2009-06-01 18:49:23

回答

3

我經常使用類似的東西在我的腳本的頂部:

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) 
2

xprofile不是標準庫,請確保您添加路徑。我的猜測是,當作爲SIS運行時,它不會找到xprofile並掛斷。在發佈SIS時,要麼指示用戶單獨安裝,要麼包含在SIS內。

你會在哪裏安裝它,使用該路徑。這裏的蟒蛇默認目錄爲樣本:


    # 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') 

順便說一句使清潔退出,這樣做:


    appuifw.app.menu = [(u'Close', exit_key_handler)]